J'ai remarqué un étrange schéma de retards lors de la tentative de récupération de sites Web; le comportement semble extrêmement distinctif et est facile à reproduire, je suis donc assez confiant dans la plupart des détails ci-dessous. J'espère que quelqu'un le reconnaîtra ou pourra le résoudre.
La durée du délai semble augmenter avec le temps écoulé depuis le redémarrage de mon ordinateur, pour autant que je sache sans limite. Ceci est moins soigneusement testé que les autres points, mais je suis convaincu que le redémarrage résout le problème et qu'il apparaît rarement dans les premières heures après le redémarrage (et semble gérable pendant beaucoup plus longtemps que cela).
Le retard apparaît dans Firefox, Safari ou Chrome.
curl fonctionne bien normalement. Mais pendant que Chrome, Safari ou Firefox charge une page, curl subira de gros retards. La fermeture du navigateur entraînera immédiatement la fin de tous les travaux de curl en cours d'exécution (par exemple, je peux démarrer 5 instances de curl en récupérant différents sites Web, qui s'arrêteront tous dans la barre de progression sans progression; la fermeture de Chrome entraînera la totalité de les travaux pour terminer immédiatement).
Le délai de curl est considérablement plus petit que le délai pour les sites Web, même s'il existe. Pour l'instant, c'est de l'ordre de 15 secondes, car je n'ai pas redémarré depuis un moment dans l'espoir de le déboguer. Un site Web prendra beaucoup plus de temps que cela, peut-être 15 secondes en «attendant www.---.com», suivi d'une durée comparable en attendant les autres.
Les latences (signalées par ping) n'augmentent pas pendant les problèmes.
Tandis que la boucle présente des retards, différents travaux de boucle se termineront en même temps. Autrement dit, ils vont tous se bloquer pendant une longue période, puis tous cesseront de se bloquer au même moment (et finiront donc à peu près au même moment, à l'échelle des 15+ secondes pour lesquelles ils sont suspendus). Parfois, cela se produit dans les navigateurs, mais pas de manière fiable (ce qui, je pense, pourrait être dû au fait qu'un navigateur a plusieurs possibilités de se bloquer avant de terminer le chargement de la page). Une fois les travaux de bouclage terminés, leur redémarrage immédiat entraîne leur suspension exactement de la même manière, ce n'est donc pas que le problème s'est résolu (du moins pas très longtemps).
Le délai est assez variable selon les pages Web. Je n'ai pas fait d'enquête très détaillée (ce sera la prochaine étape, je suppose).
quand il se bloque, curl -v se bloque à la barre de progression sans transmission de données.
Lors du chargement des pages dans Chrome, la plupart du temps est consacré à «attendre» les CDN et les services tiers.
Souvent, Chrome affichera un écran vide, et en appuyant sur "Stop", la page s'affichera (avec la plupart des éléments, mais pas tous, chargés). Je suppose que cela est lié au dernier point, et n'est qu'un comportement de chrome qui apparaît lorsque nous avons ce long délai, plutôt que d'être étroitement lié au problème.
Le retard apparaît lorsqu'il est connecté à de nombreux réseaux sans fil différents avec des caractéristiques de performances différentes (par exemple une ligne à 50 Mbps). Je n'ai pas essayé les réseaux câblés, bien que je présume que cela n'aurait pas d'importance.
De même, un DNS différent ne fait aucune différence (ce qui n'est pas surprenant étant donné que le ping est toujours bien).
J'observe le même comportement sous des niveaux de stress très différents sur le système. Par exemple, en ce moment, j'ai 3/8 Go de mémoire libre.