Important
Since v2.0 only Linux is supported.
This package determines the number of system CPU cores, available RAM, and average RAM usage per PHP-FPM pool worker process. It then calculates the opinionated optimal values for PHP-FPM pool configuration, such as:
pm.max_childrenpm.start_serverspm.min_spare_serverspm.max_spare_servers
Don't forget to keep an eye on your php-fpm.log to avoid failures!
Important
Ensure that your server is operating normally and serving incoming requests before executing the package command. This command takes into account the available RAM and the average RAM usage per PHP-FPM pool worker process to calculate values.
The most simple way to get the optimal PHP-FPM config values suggestions is to run the following command:
sh <(curl -s https://raw.githubusercontent.com/plakhin/fpm-optimize/main/suggest-fpm-config-values.sh)Also, you can install the package with composer as a dependency to your Laravel 11+ project:
composer require plakhin/fpm-optimizeOnce installed, you can run php artisan optimize:php-fpm command to see the suggested php-fpm config values.
Additionally, this package adds php-fpm config values suggestions into optimize Artisan Command output.
If you don't want this behavior, simply set FPM_OPTIMIZE_INJECT_INTO_ARTISAN_OPTIMISE_COMMAND=false in your .env file.
Contributions are welcome, and are accepted via pull requests. Please review these guidelines before submitting any pull requests.
- Fork the project
- Create a new branch
- Code, test, commit and push
- Open a pull request detailing your changes.
- Please ensure the coding style running
composer lint. - Please keep the codebase modernized using automated refactors with Rector
composer refactor. - Send a coherent commit history, making sure each individual commit in your pull request is meaningful.
- You may need to rebase to avoid merge conflicts.
- Please remember to follow SemVer.
composer lintcomposer refactorRun all tests:
composer testCheck code style:
composer test:lintCheck possible code improvements:
composer test:refactorCheck types:
composer test:typesRun Unit tests:
composer test:unitPlease see CHANGELOG for more information on what has changed recently.
The MIT License (MIT). Please see License File for more information.
