web-dev-qa-db-fra.com

Un trop grand nombre de requêtes HTTP utilisant AJAX pourrait-il provoquer un blocage du navigateur?

Nous exécutons une application Web ASP.NET et nous avons récemment reçu de nombreux rapports d'incident de la part des utilisateurs. Cela bloque parfois le navigateur Chrome et se charge parfois indéfiniment.

Voici comment notre système est conçu: notre page est une page HTML5 légère, il n’ya pas de code en arrière dans notre page (c’est-à-dire aucune liaison côté serveur). Une fois la page chargée dans le navigateur, elle déclenche AJAX demandes de charger tout ce dont elle a besoin, de la recherche de valeurs au modèle métier, puis utilise JavaScript pour la lier aux listes déroulantes et autres éléments DOM.

Voici la capture d'écran de l'outil de développement du navigateur Chrome:

enter image description here

Est-ce que 91 requêtes HTTP sont trop pour un navigateur? Comment puis-je éliminer le fait que ce n'est pas la cause de pannes du navigateur et des applications?

2
nandin

Outre les commentaires de Zistoloen et de John Conde, la première chose à faire est de tester vous-même la situation. Répliquez la situation et l'environnement signalés par les utilisateurs pour voir si le problème vous arrive.

Si vous ne pouvez pas répliquer complètement l'environnement, essayez au moins de le faire le plus près possible.

Testez la charge du site dans de nombreux navigateurs, de préférence sur des sessions privées et avec une session tor ou tout service similaire, qui devrait générer une charge avec un jeu de mandataires complètement différent, ce qui affectera le cache entre les société d’hébergement actuelle et votre ordinateur.

Dans une session locale, contre le serveur de développement, il est donc nécessaire de nettoyer le site avec la journalisation détaillée et de vérifier s'il y a un problème. En cas de mauvaise configuration du serveur, le navigateur peut rester actif ou en attente, ce qui peut poser problème. Bien qu'un accident semble peu probable.

Testez dans un environnement local et supprimez la charge du système lorsque le navigateur charge la page, ce qui vous permet de voir s'il y a un pic sur les ressources.

Si vous avez développé l'application, procédez étape par étape, désactivez la partie la plus intensive du JS et testez l'application, répétez l'opération jusqu'à ce que le système soit stable. Cette procédure est plus efficace si vous êtes en mesure de répliquer la situation signalée par vos utilisateurs et avez réussi à bloquer le navigateur.

91 demande semble beaucoup, et s'il y a des dépendances étranges, sur des dépendances non résolues entre des éléments qui n'ont pas été chargés à temps, cela peut causer des problèmes sur le compilateur V8 de Chrome, ce qui peut ne pas être aussi grave sur spidermonkey pré-traite le code.

2
PatomaS