Je lance un test de charge sur la page de connexion de mon application pour 100 utilisateurs sur 100 20 utilisateurs passent 80 utilisateurs restants je reçois l'exception ci-dessous, veuillez m'aider avec le correctif
Java.net.SocketException: Connection reset
at Java.net.SocketInputStream.read(Unknown Source)
at Java.net.SocketInputStream.read(Unknown Source)
at org.Apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.Java:166)
at org.Apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.Java:90)
at org.Apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.Java:281)
at org.Apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.Java:92)
at org.Apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.Java:61)
at org.Apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.Java:254)
at org.Apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.Java:289)
at org.Apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.Java:252)
at org.Apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.Java:191)
at org.Apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.Java:300)
at org.Apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.Java:127)
at org.Apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.Java:715)
at org.Apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.Java:520)
at org.Apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.Java:906)
at org.Apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.Java:805)
at org.Apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.Java:505)
at org.Apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.Java:328)
at org.Apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.Java:74)
at org.Apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.Java:1141)
at org.Apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.Java:1130)
at org.Apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.Java:431)
at org.Apache.jmeter.threads.JMeterThread.run(JMeterThread.Java:258)
at Java.lang.Thread.run(Unknown Source)
Je crois que vous êtes confronté au problème décrit dans Réinitialisation de la connexion depuis JMeter 2.10? page wiki JMeter. Si vous êtes complètement sûr que le comportement de votre application en cours de test est correct et que rien n'a besoin d'être réglé ou modifié du côté backend, vous pouvez configurer JMeter pour réessayer les connexions refusées et vérifier les connexions périmées:
HttpClient4
. La façon la plus simple de le faire est d'utiliser l'élément de configuration HTTP Request Defaults .Ajoutez les propriétés suivantes dans le fichier user.properties qui se trouvait dans le dossier/bin de votre installation JMeter:
httpclient4.retrycount=1
hc.parameters.file=hc.parameters
Ajoutez la ligne suivante au hc.parameters fichier (même emplacement, dossier/bin de JMeter)
http.connection.stalecheck$Boolean=true
Votre problème de "réinitialisation de la connexion" devrait disparaître.