I'm trying to update our current Apache 2.4.9 configuration from using prefork to worker mpm. I'm doing some simple load testing using jmeter to compare the performance between the 2. My first test is pretty simple, just get a single gif image using 10, 200, 300, 600, 1000, 1600 concurrent jmeter threads/vusers, and loading the server for an amount of time to see the average throughput and response times as well as the affect on cpu, memory, etc. As expected worker seems to preform better than prefork, however .25-.5% of the requests have errors regardless of the number of jmeter threads/vusers. Jmeter reports it receives: "The target server failed to respond". I don't see errors in the http_error.log. The system and apache status page reports plenty of cpu and memory available. I get no errors using prefork running the same tests. My worker configuration is as follows:

ServerLimit 32
StartServers 8
MaxRequestWorkers 1600
MinSpareThreads 100
MaxSpareThreads 150
ThreadsPerChild 50
MaxConnectionsPerChild 1000
ThreadLimit 100

I've tried various combinations increasing and reducing ServerLimit, ThreadsPerChild etc, but still get a small percentage of errors using worker mpm. Is there an additional module directive I need to adjust? Is this one of the trade offs for using worker? Is there additional logging I can enable?

  • Are you hitting ulimit limits?
    – devicenull
    Jul 4, 2014 at 2:01

1 Answer 1


See the following resources:

  1. Connection Reset since JMeter 2.10? - for Apache JMeter Wiki page with explanations and workaround
  2. Apache JMeter Properties Customization Guide - for more flexible ways of applying workaround for that behavior.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .