0

We are using the following configuration and as far as I know this configuration can execute 8000 requests/processes concurrent.

Apache Server Version: 2.4.57, Server MPM: event

<IfModule mpm_worker_module>
    ServerLimit              250
    StartServers              10
    MinSpareThreads           75
    MaxSpareThreads          250
    ThreadLimit               64
    ThreadsPerChild           32
    MaxRequestWorkers       8000
    MaxConnectionsPerChild 10000
</IfModule>

To increase this value from 8000 to 16000, is it sufficient to set the "MaxRequestWorkers" parameter to 16000, or are the values dependent on other parameters within this configuration?

If we want to check, how can we see the current count of the "MaxRequestWorkers" value?

I think we experience bottlenecks on Apache Server when incoming requests increase. There is no problem in terms of CPU and memory usage on the server. I want to increase the maximum number of requests we can accept and the maximum number of processes we can process.

And when we increase the values on the Apache Server side, what changes should we make in the limits.conf file? I think the two affect each other.

[root@servername ~]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 95053
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 95053
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
[root@servername ~]#
5
  • 1
    do you really want to serve such a amount with just a single device? Have you thought about what happenes in case of a failure?
    – djdomi
    Oct 20 at 12:55
  • @djdomi Yes, I want to try if you help. Encountering with high load is not a problem, we can change the values and restart with a short downtime.
    – rndm_acct1
    Oct 20 at 13:25
  • @rndm_acct1, you do not get the question. Djdomi ask about single point of failure. Oct 20 at 13:31
  • 1
    Does this answer may help you? Can you help me with my capacity planning? and this
    – djdomi
    Oct 20 at 13:32
  • I would lower the number of servers (child processes) and increase the number of threads per process to hundreds of threads per process. Still, for the type of load not any machine will stand 8000 concurrent requests and live to tell the tale. Oct 20 at 15:15

1 Answer 1

0

The usual practice when increasing MaxRequestWorkers is to increase also ServerLimit. This will give "space" of distribute the requests over the processes.

But as commented you do not want to have single machine to handle so big amount of requests. Also increasing mean the value mean more CPU, more RAM.

Based on your input you should increase the number of filehandlers to (at least) 20480 + other, required by software and OS.

4
  • Hello, I updated my question. You can see limits. Please specify the values clearly.
    – rndm_acct1
    Oct 20 at 13:26
  • @rndm_acct1, you need to show the setting for apache user. Oct 20 at 13:27
  • Yes and no, 8000 workers could be spread among just 8 child processes, 1000 threads each, and that would be more sane that having dozen of processes. Oct 20 at 15:13
  • "you need to show the setting for apache user." ---> Root is already the user of Apache. It is installed on root.
    – rndm_acct1
    Oct 22 at 16:09

You must log in to answer this question.

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