Richard Dominguez wrote:
Hello, I need help!

Summary:
We are conducting stress testing with Apache JMeter 5.6.3, and are
experiencing JMeter errors once our wordpress server hits a certain number
of users/threads (around 200).
The higher the number of users/rps, the higher the percentage of errors
would occur (8% to 40+%).
It appears the errors aren't originating from the Wordpress server, but the
JMeter HTTP4 Client.

**QUESTIONS**:
1. Is #2 below (updating user.properties and hc.parameters) the "correct"
way to get around
these JMeter Errors?
2. What pitfalls, if any, will incur from doing #2 below in our tests?

Through trial and error, we found only two solutions that make the errors
go away:
1. Working, but unacceptable: Disable Keep-Alive header in ALL JMX Http
Requests (Unacceptable, as most web browsers will send the request so this
isn't realistic).
2. Working, plus we don't need to update our JMX tests: We discovered a
stackoverflow post that recommended editing the following files:
      a. JMeter/bin/user.properties: Add following lines:
          httpclient4.retrycount=1
hc.parameters.file=hc.parameters
      b. JMeter/bin/hc.parameters: Add following lines:
          http.connection.stalecheck$Boolean=true

Additional Info:

JMeter Version:
5.6.3

JMeter HTTP Request Client Implementation:
HTTP4

JMeter JMX Test:
A simple test with the root URL, and several /wp-content/ image and svg
resources.

JMeter Response Code:
Non HTTP response code: org.apache.http.NoHttpResponseException

JMeter Response Message:
Non HTTP response message: some.server.com:443 failed to respond

Server Info:
1. The org.apache.http.NoHttpResponseException shown in Apache JMeter
doesn't correlate to any errors in the Apache WordPress logs.
2. At the time the errors occur, even at extreme loads of 20k+ users, the
server's CPU and Memory usage never go above 20%.

Other Things We Tried That Made No Difference:
1. Updating the HTTP Request Sampler's timeout.
2. Changing the HTTP Request headers content types around.
3. Updating the Apache/WordPress Server's Max Keep Alive Connection from
100 to 200.

Given your test fails with "some.server.com:443 failed to respond" I don't think you should be amending your JMeter configuration, the error indicates that the system under test (WP) cannot handle the load

You can enable Java network debugging <https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/ReadDebug.html> by adding "javax.net.debug=all" line to system.properties file  and JMeter HttpComponents debugging <https://www.blazemeter.com/blog/jmeter-logging>  by adding <Logger name="org.apache.http" level="debug" /> line to log4j2.xml file

This way you will be able to see who exactly is closing the connection and why.

Also you shouldn't be hitting images directly, you should rather configure HTTP Request <https://jmeter.apache.org/usermanual/component_reference.html#HTTP_Request> sampler to download embedded resources and add HTTP Cache Manager <https://jmeter.apache.org/usermanual/component_reference.html#HTTP_Cache_Manager> to represent the browser cache as this is what real browsers would be doing.

JMeter configuration must represent the real browser so ensure that JMeter's network footprint is the same (i.e. don't forget to add Timers <https://jmeter.apache.org/usermanual/component_reference.html#timers>)

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@jmeter.apache.org
For additional commands, e-mail: user-h...@jmeter.apache.org

Reply via email to