2
votes

Que signifie l'erreur org.apache.http.conn.HttpHostConnectException dans les résultats de résumé de jMeter?

Je fais un test de charge sur un site Web et après avoir démarré mon test sur des appareils distants et enregistré les réponses dans un fichier journal, j'obtiens cette réponse sur certaines demandes:

Code de réponse non HTTP: org.apache.http.conn.HttpHostConnectException

Qu'est-ce que cela signifie?


0 commentaires

3 Réponses :


1
votes

HttpHostConnectException est un sous-type de ConnectException :

Signale qu'une erreur s'est produite lors de la tentative de connexion d'un socket à une adresse et un port distants. En règle générale, la connexion a été refusée à distance (par exemple, aucun processus n'écoute sur l'adresse / le port distant).

Cela signifie que JMeter essaie d'établir la connexion et que l'application testée ne l'accepte pas.

Il peut y avoir plusieurs raisons à cela:

  1. Vous envoyez plus de demandes que l'application en cours de test (ou son serveur Web / application d'hébergement) n'est capable de servir. Vous devez inspecter votre application ou ses journaux de conteneur sous-jacents et la configuration et vous assurer qu'elle dispose des les paramètres appropriés afin de gérer la charge prévue
  2. Le système testé est surchargé en termes de CPU, RAM ou réseau. Vous devez vous assurer que l'application testée dispose d'une marge de manœuvre suffisante pour fonctionner. À ce stade, vous devrez peut-être mettre à niveau le matériel s'il s'agit du goulot d'étranglement. Assurez-vous de surveiller les mesures de performances essentielles, cela peut être fait à l'aide des outils de surveillance intégrés du système d'exploitation sur lequel votre application est exécutée ou via un APM tool ou avec Plugin JMeter PerfMon .
  3. Le code de votre application est le goulot d'étranglement, c'est-à-dire qu'il existe une fonction inefficace ou un pool de threads réglage du nombre maximum qui limite le nombre de connexions pouvant être desservies. Encore une fois, vous devez inspecter vos journaux d'application ou utiliser un outil de profilage pour voir ce qui se passe quand votre application est sous la charge

1 commentaires

Donc, c'est essentiellement une erreur de serveur (causée à cause du serveur) mais cela ne signifie pas que le serveur est en panne. J'augmente le nombre de threads, mais le code de réponse du serveur n'est jamais 503 ou quelque chose comme ça. J'obtiens 200 codes de réponse ou l'erreur que j'ai mentionnée, quoi qu'il arrive. Pourquoi cela se produit-il? Cela pourrait-il être lié au fait que le serveur pourrait être protégé contre les attaques DDoS?



1
votes

Finalement, j'ai conclu qu'il ne s'agissait pas d'une erreur de serveur mais plutôt d'une erreur client. Pour résoudre le problème de ne pas pouvoir surcharger le serveur, j'ai changé les paramètres à distance de jmeter - j'ai arrêté l'ordinateur maître de générer des rapports récapitulatifs pendant le temps d'exécution (c'est-à-dire pendant le temps qu'il recevait les résultats des tests d'ordinateurs esclaves), et de la génération View Result Tree également.


0 commentaires

0
votes

Lors de l'ajout 5 secondes Délai de démarrage et Durée en 1
dans Jmeter, je n'ai pas obtenu l'exception ci-dessus.


0 commentaires