Performance Optimization: Tuning PHP-FPM and opcache pools for high-concurrency OpenAI Completion API handlers
Understanding PHP-FPM and Opcache in High-Concurrency Scenarios
When building WordPress plugins that interact with external APIs, especially high-volume ones like OpenAI’s Completion API, performance is paramount. Slow API responses can lead to a degraded user experience, increased server load, and potentially higher API costs due to repeated requests. Two critical components for optimizing PHP execution in such scenarios are PHP-FPM (FastCGI Process Manager) and Opcache.
PHP-FPM manages a pool of worker processes that handle incoming PHP requests. Properly tuning these pools is essential for concurrency. Opcache, on the other hand, caches precompiled PHP bytecode, significantly reducing the overhead of parsing and compiling PHP scripts on every request. For API handlers, where execution time is often dominated by I/O (network latency to the API), minimizing PHP execution overhead becomes even more critical.
Tuning PHP-FPM Pools for OpenAI API Handlers
The primary goal when tuning PHP-FPM pools for API handlers is to ensure enough worker processes are available to handle concurrent requests without overwhelming the server or introducing excessive request queuing. We’ll focus on the `pm.max_children`, `pm.start_servers`, `pm.min_spare_servers`, and `pm.max_spare_servers` directives.
Consider a scenario where your WordPress plugin makes a call to the OpenAI API. This involves:
- Receiving an HTTP request from a user or another service.
- Executing PHP code to prepare the API request payload.
- Making a cURL or similar HTTP request to the OpenAI API endpoint.
- Waiting for the OpenAI API to process and respond.
- Receiving the API response.
- Processing the response in PHP.
- Sending an HTTP response back to the client.
The most time-consuming part here is typically the network I/O to the OpenAI API. During this I/O wait, the PHP worker process is largely idle but still occupied. If you have many concurrent requests, you need enough worker processes to handle the load while waiting for API responses.
Calculating `pm.max_children`
A common starting point for `pm.max_children` is to consider your server’s available RAM. Each PHP-FPM worker process consumes memory. A rough estimate for memory per worker can be obtained by monitoring your system under load. Let’s assume a typical worker might consume 30-50MB of RAM.
If your server has 4GB (4096MB) of RAM and you want to reserve 1GB for the OS and other services, you have 3GB (3072MB) for PHP-FPM. If each worker uses 40MB, you could theoretically support `3072MB / 40MB = 76` children. However, this is a very simplistic calculation. You also need to account for:
- Peak request load.
- Memory usage of your WordPress application and plugins (especially the OpenAI handler).
- Memory used by other services (web server, database).
A more practical approach is to start with a conservative number and increase it based on monitoring. For a VPS with 2GB RAM, starting with `pm.max_children = 50` might be reasonable. For a dedicated server with 8GB RAM, `pm.max_children = 150` could be a starting point.
Configuring `pm.start_servers`, `pm.min_spare_servers`, `pm.max_spare_servers`
These directives control how PHP-FPM dynamically manages its worker pool.
pm.start_servers: The number of child processes created on the server start.pm.min_spare_servers: The desired minimum number of idle supervisor processes. If there are fewer idle processes than this number, the master process will fork more children.pm.max_spare_servers: The desired maximum number of idle supervisor processes. If there are more idle processes than this number, the master process will terminate some of them.
For high-concurrency API handlers, you want to minimize the latency introduced by process forking. Setting `pm.start_servers` to a value that can handle a good portion of your expected peak load is beneficial. `pm.min_spare_servers` and `pm.max_spare_servers` should be set to provide a buffer for sudden spikes in traffic without creating too many idle processes that consume memory.
A common configuration for a moderately busy server might look like this:
Example PHP-FPM Pool Configuration (`www.conf`)
Locate your PHP-FPM pool configuration file. This is typically found in:
- Debian/Ubuntu:
/etc/php/<version>/fpm/pool.d/www.conf - CentOS/RHEL:
/etc/php-fpm.d/www.conf
Modify the following directives:
; Choose how the process manager (pm) will manage the workers ; Available modes: static, dynamic, ondemand ; Default value: dynamic pm = dynamic ; Set the maximum number of children that will be used at any one time. ; This is a critical setting for high concurrency. ; Adjust based on server RAM and expected load. ; Example for a server with 4GB RAM, reserving 1GB for OS: ; pm.max_children = 100 ; Number of child processes to start when PHP-FPM starts. ; Should be enough to handle initial load. ; pm.start_servers = 10 ; Minimum number of idle server processes. ; pm.min_spare_servers = 5 ; Maximum number of idle server processes. ; pm.max_spare_servers = 20 ; The next three parameters are used only when pm = dynamic ; These define the limits for the dynamic process manager. ; The number of *additional* processes that will be spawned when the ; number of *idle* processes is less than this value. ; pm.min_spare_servers = 5 ; The number of *additional* processes that will be spawned when the ; number of *idle* processes is greater than this value. ; pm.max_spare_servers = 20 ; The desired maximum number of processes each pool should have. ; pm.max_children = 100 ; Set to a value that is less than pm.max_children. ; pm.max_requests = 500 ; Restart a child after this many requests. Useful for memory leaks. ; Set the user and group for the pool user = www-data group = www-data ; Set the listen socket. ; listen = /run/php/php7.4-fpm.sock ; listen.owner = www-data ; listen.group = www-data ; listen.mode = 0660 ; Set the default socket listen queue size. ; listen.backlog = 511 ; Set the process title. This string will be appended to argv for ; each process created. ; pm.process_title = php-fpm ; Set the user/group for the master process. ; process_control_user = www-data ; process_control_group = www-data ; Set the maximum number of children that can be started at one time. ; pm.max_children = 100 ; Example value ; Set the maximum number of requests each child process should execute. ; A value of 0 means unlimited. ; pm.max_requests = 1000 ; Set the desired number of idle server processes. ; pm.min_spare_servers = 5 ; pm.max_spare_servers = 20 ; Set the number of child processes to be created when the master process ; starts. ; pm.start_servers = 10 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a child process can spend on ; executing requests before being terminated. ; pm.max_requests = 500 ; Set the maximum amount of CPU time that a