Pourquoi la vérification de Windows Update est-elle si lente?

J'ai des ordinateurs Windows 7 qui ont une mise à jour automatique désactivée. Je fais des mises à jour par lot une fois par mois. Mais chaque fois que "vérifier la mise à jour" prend 15 à 30 minutes. Je ne comprends pas pourquoi la vérification des mises à jour peut être si lente? Je dois me demander ce qui se passe en arrière-plan. Est-ce qu'il s'agit d'un hash informatique? Est-ce que mes PC avec des mises à jour automatiques activées subissent le même sort chaque fois qu'il démarre (seulement ce que je ne connaissais pas)?

La vérification des mises à jour est si lente parce que:

  • Windows 7 utilise le service basé sur les composants , ce qui signifie que Windows Update doit avoir du mal à déterminer les dépendances / inter-dépendances des fichiers et des composants, maintenir les versions côte à côte des fichiers / composants anciens tout en permettant de désinstaller les mises à jour individuelles / Composants, mais sans briser d'autres mises à jour / composants, tout en tenant compte de la supercedence et Dieu sait quoi d'autre. Le code qui fait tout cela doit être minéralement complexe.

  • Windows 7 64 bits doit conserver à la fois les versions 32 bits et 64 bits de chaque mise à jour.

  • Windows doit conserver à la fois les versions GDR et LDR de chaque mise à jour, ce qui signifie que sur Windows 7 64 bits, vous obtenez 32 bits GDR, 32 bits LDR, 64-bit GDR, 64 bits LDR pour chaque mise à jour.

  • Le code derrière Windows Update est très inefficace, probablement en raison de sa complexité conceptuelle. Mes observations au cours des dernières années sont que, au fur et à mesure que le nombre total de mises à jour ont augmenté, le temps de contrôle des mises à jour a augmenté de manière presque exponentielle. Pour moi, cela indique que des algorithmes récursifs sont utilisés, peut-être pour déterminer la dépendance de la superscedence ou la résolution.

Malheureusement pour nous, Microsoft n'aime pas parler des composants internes de Windows, donc nous finissons par avoir à comprendre ou à spéculer.

Plusieurs aspects du problème ont été traités dans les réponses existantes. Je vais essayer de les lier en énumérant les causes d'une manière générale, sans répéter ce qui a déjà été dit:

  1. Le mécanisme de mise à jour de Microsoft Windows est extrêmement sophistiqué, ce qui, malheureusement, signifie aussi compliqué
  2. WU doit supporter un nombre incalculable de combinaisons matérielles et logicielles
  3. WU doit appliquer les mises à jour dans le bon ordre
  4. Windows 7 est un système plus ancien, et SP2 est en retard et n'arrivera probablement jamais, ce qui fait de nombreuses mises à jour
  5. Les dernières années, Microsoft a été fortement pressée de résoudre de nombreux problèmes de sécurité, ce qui a entraîné de nombreuses corrections trépidantes, des réparations de correctifs et ainsi de suite à la née génération
  6. Microsoft n'a pas été en mesure d'optimiser suffisamment le mécanisme de mise à jour, qui est en général un algorithme exponentiel, ce qui entraîne un algorithme de force brute plutôt lent.
  7. Les serveurs WU de Microsoft sont parfois surchargés.

Examinons ces points plus en détail.

Complexités de Windows Update

Une fois qu'une mise à jour est diffusée, elle peut entrer dans trois phases différentes supplémentaires dans le temps: révisions, remplacements et expirations.

Révisions de mise à jour : lorsque des modifications sont apportées à une mise à jour publiée précédemment, elle s'appelle une révision de mise à jour, où certaines parties du téléchargement sont modifiées. Il s'agit d'un remplacement de mise à jour partiel, non complet.

Mises à jour remplacées : il s'agit d'un remplacement complet d'une version précédente, ou des versions. Parfois, Microsoft enveloppe plusieurs versions dans un seul package, et ce package remplace ses mises à jour encapsulées.

Mises à jour émettées : il s'agit des mises à jour supprimées de la liste des mises à jour valides. De telles mises à jour ne sont plus applicables et ne seront pas détectées pour l'installation. La plupart du temps, une mise à jour est expirée une fois qu'elle est remplacée par une mise à jour remplacée.

Les mises à jour ont également un mécanisme de dépendance, ce qui signifie que certaines mises à jour peuvent nécessiter que d'autres mises à jour soient appliquées en premier.

Expiré Les mises à jour sont problématiques pour les performances de WU, car malheureusement elles ne sont pas supprimées de l'ordinateur, donc elles participent toujours aux calculs, et il y en a tellement. Une certaine amélioration peut être obtenue en utilisant le nettoyage de disque pour supprimer les mises à jour Windows désuètes (prenez d'abord une image de disque de sauvegarde du lecteur de système, car WU est également très fragile).

WU Calculations

En raison de l'énorme nombre de combinaisons possibles, Microsoft conserve toutes les mises à jour sur les serveurs WU sous la forme d'un arbre gigantesque. La décision sur les mises à jour doit être appliquée par un algorithme d'élagage d'arborescence, qui prend en compte le matériel et les logiciels installés du client, ainsi que toutes les mises à jour qui sont déjà installées, ce qui constitue à lui seul un grand nombre de faits qui nécessitent Tous sont appliqués avec succès lors de l'élagage.

L'algorithme n'est pas garanti pour réussir, ce qui signifie que WU est parfaitement capable de détruire le système d'exploitation ou même de le rendre non démarrable. Ceci est tout à fait compréhensible, par exemple en prenant une mise à jour A1, ayant la révision A2, où une mise à jour B dépendant de A a été diffusée entre A1 et A2. Maintenant, indiquez si l'ordre d'installation doit être A1-B-A2 ou A1-A2-B, lorsque la mauvaise décision peut être mortelle.

Serveurs WU surchargés

Wikipedia a ceci à dire sur les statistiques de Windows Update :

À partir de 2008, Windows Update avait environ 500 millions de clients, a traité environ 350 millions d'analyses uniques par jour et a maintenu une moyenne de 1,5 million de connexions simultanées aux machines clientes. Sur Patch Tuesday, le jour où Microsoft publie généralement de nouvelles mises à jour logicielles, le trafic sortant pourrait dépasser 500 gigabits par seconde.

Ces chiffres ont probablement doublé à l'heure actuelle, et expliquent pourquoi les serveurs WU sont parfois inaccessibles. J'utilise l'option WU pour "Vérifier les mises à jour, mais laissez-moi choisir", et ma propre expérience est qu'il y a des jours et des heures où la vérification des mises à jour prend plus de temps que je suis prêt à attendre, ce qui nécessite un ajournement.

La longue histoire de Windows 7

Windows 7 a été publié le 22 juillet 2009. Après environ 17 mois, Service Pack 1 (SP1) est sorti le 22 février 2011. Il y a environ 4,5 ans, ce qui signifie que SP2 est en retard.

Le bon côté d'un Service Pack est que l'installation de l'effacement de l'historique de la mise à jour complète, de sorte que, en fait, WU commence à zéro, exactement comme après une nouvelle installation de Windows. Cela accélère énormément tous les calculs, car il y a moins de mises à jour à prendre en compte.

Le nombre total de mises à jour existantes depuis SP1 explique pourquoi les calculs WU sont si lents aujourd'hui. Pour Microsoft, le problème peut être résolu «simplement» en passant à la version plus récente de Windows 8.1 ou de Windows 10, de sorte que WU aura un nombre plus petit de mises à jour à prendre en compte.

Conclusion

Comme Microsoft continue d'appliquer de nombreuses mises à jour à Windows 7, WU ne fera que ralentir au fil du temps.

Une optimisation possible consiste à supprimer les mises à jour Windows désuètes . Une autre est d'utiliser l'option WU de "Vérifier les mises à jour, mais laissez-moi choisir", et vérifiez les mises à jour tôt le matin ou tard dans la nuit.

La plupart des mises à jour s'appliquent également aux Windows 8 et 10, de sorte que le fardeau sur les serveurs WU de Microsoft ne se multipliera que lorsque Windows 10 sera bientôt publié. Microsoft semble également intégrer la bande passante de ses serveurs WU selon ses propres politiques, avec l'accent sur le service aux systèmes d'exploitation les plus récents, alors nous devrions nous attendre à un autre ralentissement pour Windows 7 une fois que Windows 10 est diffusé, ainsi que des mises à jour démesurément plus rapides Pour Windows 10.

Si WU est trop lent, la seule solution réelle est de passer à une version ultérieure de Windows.

Bonne nouvelle: SP2 pour Windows 7 (et 8.1) est arrivé

Microsoft a publié ce qui est actuellement SP2 pour Windows 7 et 8.1. Cette mise à jour ne sera pas disponible à partir de Windows Update pour une raison inconnue. Il doit donc être téléchargé et installé manuellement.

Lisez la façon de l'obtenir dans l'article:
Microsoft révise la mise à jour Windows 7 et 8.1 – mais ne l'appelle pas un service pack .

Ce problème est venu au cours des années avec des corrections différentes en cours de route, alors voici mon guide mis à jour sur cette question à partir de cette date le 5 janvier 2016

Vérifiez la section EDIT ci-dessous, il existe un moyen beaucoup plus rapide de mettre à jour complètement Windows 7 SP1 après une installation propre à partir de mai 2016.

C'est ce que je fais quand je réinstalle W7 avec SP1 ou j'ai des problèmes liés à la mise à jour de Windows lors de la vérification des mises à jour.

Si Service Pack 1 n'est pas installé, installez-le avant de suivre ce guide.

Téléchargez KB-3138612 et enregistrez-le pour le retrouver plus tard

Téléchargez SUR Tool, enregistrez-le au même endroit

Redémarrez le PC et déconnectez-vous de l'Internet avant que Windows ne charge, ceci est important car, à chaque démarrage, les fenêtres vérifient les mises à jour en arrière-plan, et cela commencera à vérifier que les mises à jour s'arrêtent à nouveau et empêcheront l'installation des paquets téléchargés jusqu'à ce qu'ils finissent En vérifiant, alors déconnectez-vous de l'Internet avant que les charges de Windows ne l'empêchent.

Une fois l'installation démarrée KB-3138612, si le redémarrage est nécessaire, faites-le et restez déconnecté d'internet.

Maintenant, installez le package SUR Tool, il s'agit d'un gros paquet et va installer de nombreuses mises à jour avec le nettoyage et la réparation du magasin de mise à jour Windows. Il réduira également le nombre de mises à jour supplémentaires de Windows plus tard.

Après l'installation du redémarrage du sur, connectez-vous à Internet et effectuez une mise à jour manuelle de Windows, il devrait fonctionner beaucoup plus rapidement maintenant. Même après ces corrections, j'ai vu que certains PC de W7 prennent jusqu'à une heure pour finir de vérifier les mises à jour si elles sont lancées à partir du Panneau de configuration manuellement.

Si vous avez d'autres problèmes de mise à jour de Windows et que les 2 mises à jour ci-dessus sont installées, téléchargez cet outil de fixation de Microsoft Windows Update (faites un clic droit sur "Enregistrer le lien sous"), exécutez-le et sélectionnez le mode agressif pour réinitialiser complètement les mises à jour Windows. Redémarrez et essayez à nouveau les mises à jour Windows depuis le Panneau de configuration. Cet outil corrige les problèmes lorsque les autres outils de réparation Microsoft échouent, du moins dans mon expérience.

Mise à jour: Microsoft a publié un gigantesque cumul de mises à jour pour Windows 7 SP1 , c'est similaire à un service pack, mais ils ne l'appellent pas. Cela rendra beaucoup plus rapide pour mettre à jour Windows 7 après une installation propre, plus de problèmes de mise à jour Windows et de nombreux redémarrages. Ce cumul de mises à jour mettra le système à jour le mardi d'avril 2016.

Ceci n'est pas publié via Windows Update, vous devez utiliser Internet Explorer pour l'obtenir, ouvrir IE et accéder à cette adresse

http://catalog.update.microsoft.com/v7/site/home.aspx

Entrez dans la zone de recherche 3125574 et appuyez sur la touche Entrée.

Entrez la description de l'image ici

Maintenant, vous verrez toutes les versions de ce cumul, sélectionnez celui dont vous avez besoin et téléchargez-le quelque part, vous pouvez le trouver plus tard.

Entrez la description de l'image ici

Utilisez également la page Windows Update Catalog pour télécharger et installer cette mise à jour en premier, 3020369 , c'est une condition préalable au déploiement, puis installez 3125574, assurez-vous également d'être déconnecté d'Internet lors de l'application de ces mises à jour.

Lorsque vous utilisez ETW / WPR / WPA pour vérifier l'utilisation de la CPU pendant la numérisation, vous voyez que l'utilisation de la CPU provient de wuaueng.dll!CUpdatesToPruneList::AddSupersedenceInfoIfNeeded qui s'appelle depuis wuaueng.dll!CAgentUpdateManager::FindUpdates . La méthode AddSupersedenceInfoIfNeeded est la chose la plus lente . Cela fait ce que le nom indique et cherche si les mises à jour offertes / installées de Windows 7 sont encore nécessaires ou remplacées (dépassées / remplacées par des nouvelles). C'est très lent.

Avec la dernière mise à jour de Windows Update Client à partir de juin 2016 , qui fait partie du cumul de mises à jour Windows 7 juillet 2016 , la recherche de mise à jour est rapide à nouveau.

  1. Télécharger:

Prend un peu plus de 1 minute pour que je recherche de nouvelles mises à jour. Pour accélérer la configuration de la mise à jour KB3172605, arrêtez le service WindowsUpdate ( net stop wuauserv ).

Cette ruse d'arrêt de service WU accélère l'installation beaucoup, lorsque vous installez plusieurs mises à jour MSU:

 @ECHO OFF SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION FOR /R "%~dp0" %%A IN (*Windows6.1-KB*.MSU) DO ( CALL :SUB %%~nA ECHO= Installing KB!KB_NUM! >NUL net stop wuauserv WUSA "%%A" /quiet /norestart) ECHO= == Press any key to close the Window == >NUL PAUSE GOTO :EOF :SUB SET "KB_NUM=%*" FOR /F "DELIMS=-" %%B IN ("%KB_NUM:*-KB=%") DO SET "KB_NUM=%%B" 

Dans Windows 10, Microsoft a résolu le problème en suivant ma suggestion et pour rendre les mises à jour cumulatives. Ici, vous n'avez besoin que d'une grande mise à jour pour être au niveau du correctif actuel. Cette vérification lente n'est plus nécessaire.

Si les expériences passées avec la mise à jour de XP sont une indication, elles permettent parfois de glisser un algorithme de temps exponentiel là-bas . Une fois que vous avez de nombreuses mises à jour … prend une éternité. Actuellement, les mises à jour Win 7 sont dans une situation similaire; Prenez beaucoup de temps, bien qu'il n'y ait pas encore d'explication officielle pour cette dernière lenteur. Il est intéressant de constater que ce «vient juste d'arriver» (vers les anciennes versions) quand ils ont un nouveau. Le cynique de moi ne peut s'empêcher d'imaginer que quelqu'un voudrait intentionnellement que cela se produise, dans le sens de [vieux] Windows est lent? Vous avez besoin d'une nouvelle version. Ou peut-être est-ce que c'est la façon dont MS commence la saison des fêtes.

Il existe un correctif pour une sorte de lenteur WU, qui n'est pas offerte automatiquement (c.-à-d. Via la mise à jour elle-même): https://support.microsoft.com/en-us/kb/3102810 Malheureusement, cela n'a pas marqué une différence réelle Mon cas, et je l'ai essayé sur deux ordinateurs différents, un de 32 bits et un de 64 bits. De plus, il existe depuis octobre, donc ce n'est probablement pas pour le dernier problème [s].

Il y a environ un milliard de PC exécutant Windows aujourd'hui. Chaque PC possède une combinaison de matériel, d'accessoires, de version OS, de langue, d'IE, de version du pilote de périphérique, de logiciels Microsoft à différents niveaux de correctifs, de mises à jour de sécurité, etc. Le système Windows Update doit trier toutes ces combinaisons pour proposer les bonnes mises à jour pour Un PC individuel. Chaque mise à jour possède des propriétés, y compris des dépendances et une structure de «supercedence».

La première étape (première exécution) dans l'analyse est de déterminer la version du système d'exploitation, SP, langue, fabricant de PC pour tailler l'arbre des mises à jour probables pour le PC. Sur la base de cette première analyse, un ensemble probable d'ID de mise à jour est envoyé au périphérique et le client local calcule les mises à jour installées, remplacées, etc. puis envoie cette liste au serveur et met en cache une copie localement pour les analyses ultérieures. Le serveur répond à la demande du client pour les mises à jour avec des descriptions, etc. qui sont affichées dans l'interface utilisateur (dans la langue de l'interface utilisateur appropriée).

Une fois par jour, une mise à jour de vérification est effectuée par le client Mise à jour automatique en arrière-plan et actualise le cache local des mises à jour installées, de sorte que les analyses ultérieures ne sont qu'un delta et rapidement. Ceux-ci sont stockés dans le dossier% windir% \ softwaredistribution sur le PC.

Un processus similaire est également effectué pour les mises à jour téléchargées précédemment. Le service ne redéberra pas les paquets.

Nous avons trouvé cette publication qui nous aidera à comprendre au moins ce qui se passe réellement lors de la recherche. Il est écrit à merveille. Je le publie donc en tant que tel. Vous pouvez trouver la publication originale ici

Une modification notable du temps pris pour vérifier la mise à jour pour l'installation était là quand j'ai changé les paramètres de mise à jour de Windows pour Check for updates but let me choose whether to download and install them

Votre meilleur pari, à mon avis, est simplement d'activer les mises à jour de Windows et de passer à l'option qui vous permet de télécharger des mises à jour mais pas d'installer automatiquement. De cette façon, vous pouvez obtenir ce que vous voulez installer sans avoir à attendre des chèques ou des téléchargements de fichiers d'arrière-plan.

Maintenant, pour répondre pourquoi c'est lent. Je pense que cela se résume simplement au fait que les mises à jour de Windows ont été construites avec la réduction de l'impact notable pour les utilisateurs. Il utilise le service BITS (service de transfert intelligent en arrière-plan) pour vérifier et télécharger les mises à jour.

Encore une fois, l'accent mis sur ce service est de fonctionner de manière à ne pas perturber l'utilisateur. Les vitesses sont intentionnellement lentes par la conception, car Microsoft n'a jamais prévu que les clients activent et désactivent le service de mise à jour chaque mois.

Ce que vous pourriez envisager est d'obtenir votre propre configuration du serveur WSUS. De cette façon, vous pouvez refuser les mises à jour de la même manière que les administrateurs d'entreprise, et peut appliquer ou refuser les mises à jour choisies à tous vos périphériques Windows que vous possédez. Faire cette corvée de mise à jour sélective, moins de corvées.

Il est lent parce que Windows Update et plusieurs autres composants du système Windows utilisent le moteur de base de données Microsoft JET Blue , qui souffre d'une mauvaise performance notoirement englobante.

Comme d'autres l'ont mentionné, il semble y avoir un certain degré de récurrence dans le code de mise à jour de Windows lui-même, ce qui entraîne de mauvaises performances à mesure que le nombre de mises à jour augmente.

J'ai eu ce problème et ce que j'ai fait était de laisser Windows Update courir pendant la nuit pour la première fois sur une machine nouvellement installée. Conseils pour réussir:

  • Accédez aux options d'énergie, mettez le temps de veille sur "jamais"

  • Activez Windows Update automatiquement. L'heure par défaut de 03:00 AM est correcte car le processus de recherche prend également du temps

  • Il est également recommandé de faire une "mise à jour Windows doit mettre à jour certains composants …" la première fois (se compare rapidement aux plus de 200 mises à jour dans le cas de Windows 7)

Lorsque tout a été mis à jour correctement, vous trouverez une grande quantité de correctifs (environ 200) ont été installés. Windows a également défragmenté et a exécuté Windows Defender mises à jour / scans aussi.

Ensuite, les autres cycles de Windows Update (recherche de mises à jour – installation – redémarrage – recherche de mises à jour – installation – redémarrage – recherche de mises à jour … jusqu'à ce que # mises à jour soit devenue 0) fonctionne beaucoup plus rapidement.

Pas de hashing, mais oui, il vérifie beaucoup (aussi profond que certaines versions de fichiers DLL). C'est lent, peu importe le système que vous utilisez.

En tant que solution, retirez-le et quand il y a un jour ou une nuit, vous n'avez pas besoin trop du système, allumez-le, forcez-le à vérifier les mises à jour et à les laisser tous installer.

Hé, je pense que ma réponse précédente n'était pas bonne, mais j'ai donné de bons conseils pour faire fonctionner le PC plus rapidement. Lors d'une nouvelle installation de Windows 7, j'utilise un jeu d'installation original, mais toujours avec des mises à jour simplifiées, de toute façon, je ne pense pas que vous essayez les mises à jour kb3102810 et kb3050256 à Installez-vous juste après une nouvelle installation, ces deux peuvent considérablement augmenter la vitesse de recherche et d'installation des mises à jour.