PHP-FPM is a process manager that is often used with Nginx. It’s a great tool that improves the speed and performance of your web pages. The FPM process manager is responsible for handling requests and spawning child processes. When it detects that there are too many processes, it will kill off some of them. This is done in a way that is easy to diagnose.
To keep the FPM process manager running, it needs to be set to the max capacity of the server’s resources. For example, the maximum number of child processes can be set to 1000. These processes will be spawned on demand when a new service is launched. On the other hand, processes that are idle will be disposed of in seconds. In some cases, this can be as short as a few minutes.
The PHP-FPM process is also capable of isolating the operation of one php script from another. This is a clever feature that can help keep a particular php script from hogging memory. However, it also requires manual tuning. Fortunately, there are several ways to tweak this process.
One of the first things to do when noticing an out of memory problem is to restart the php-fpm process. This will allow the PHP-FPM to start up the child processes it needs. You can do this by using the hypernode-servicectl tool. Also, a graceful restart can be achieved by setting the emergency restart interval to a suitable unit.
Another method of reducing memory usage is by optimizing your images. Using smaller imports, for instance, can help cut memory usage. Similarly, lowering the file size of your pages and custom code can have a positive impact. But if your application is causing your memory to spike, you may need to look at a larger plan.
While there are many solutions, the simplest way to solve this problem is to upgrade your server’s memory. This should be done before you make any changes to your production system. Although it can be difficult to find the best solution, a little research can go a long way.
Another useful tool is the OOM killer. Linux offers a number of options for this. Each system has its own configuration options and it’s recommended to choose a system that is suited to your environment. Choosing the right out of memory killer is an important part of boosting productivity.
There are a number of other tools to try, but the best way to find out which one is right for you is to test it in a development environment and then compare its results to the real deal. Using a tool such as PHP’s ping function can be a good way to gauge the performance of your PHP-FPM. A more comprehensive approach would be to analyze your system’s logs and see what happens when a particular type of request is sent to your PHP server. By comparing the different timestamps, you can determine whether the out of memory killer is a culprit.