Concurrency
While concurrency is a topic applicable to multiple layers of stack, there are a few configuration directives around web servers that every developer should be familiar with. Concurrency refers to handling multiple connections inside a web server. The two most popular web servers for PHP, Apache, and Nginx, both allow some basic configuration for handling multiple connections.
While there are plenty of debates as to which server is faster, Apache with the MPM event module is pretty much on par with the Nginx performance.
The following directives dictate the Apache MPM event concurrency, and are therefore worth keeping an eye on:
ThreadsPerChild
: This is the number of threads created by each child processServerLimit
: This is the limit on the configurable number of processesMaxRequestWorkers
: This is the maximum number of connections to be processed simultaneouslyAsyncRequestWorkerFactor
: This is the limit on concurrent connections per process
An absolute maximum numbers of possible...