Directorio de artigos
- 1 1. Limite o número de procesos php-fpm
- 2 2. Activa OPCache (para mellorar o rendemento de PHP)
- 3 3. Limite o tempo máximo de execución dos scripts PHP
- 4 4. Comprobe as consultas lentas de MySQL
- 5 5. Limite o uso de recursos de Memcached
- 6 6. Activa Nginx para almacenar na caché recursos estáticos
- 7 7. Busca o script PHP que usa máis CPU
- 8 Resumo: 7 formas de optimizar PHP-FPM
- 9 En conclusión
HestiaCP Aumento da CPU do servidor? Unha guía completa para optimizar o proceso PHP-FPM!

A CPU do servidor está sempre ao 100%? O ventilador está xirando salvaxe? A velocidade de apertura do sitio web está a diminuír?O culpable pode ser php-fpm!
Hai pouco descubrín chenweiliang.com Este grupo de PHP php-fpm O proceso consumiu a CPU como un tolo e o servidor colapsou!
Para reactivar o servidor, probei unha serie de métodos de optimización e finalmente logrei reducir o uso da CPU.
Agora, imos compartir isto Guía de optimización eficiente! 🚀
1. Limite o número de procesos php-fpm
A configuración predeterminada de php-fpm podeilimitadoO proceso créase sen control, o que fai que a CPU do servidor se sobrecargue.
Para optimizalo, podemos modificar os parámetros de xestión de procesos.
Aberto php-fpm Ficheiros de configuración:
sudo nano /etc/php/*/fpm/pool.d/www.conf
- *Cambia á túa versión de PHP, como PHP8.3, e cámbiaa a isto:
/etc/php/8.3/fpm/pool.d/www.conf
Consultar a versión de PHP establecida por HestiaCP
v-list-web-domain user domain.com
Por exemplo:
v-list-web-domain abc chenweiliang.com
Na saída, verás algo así como:
PHP SUPPORT yes
PHP MODE php-fpm
PHP VERSION 8.3
Isto significa que o sitio web usa PHP 8.3.
Localice e modifique os seguintes parámetros:
pm = dynamic
pm.max_children = 16 ; 根据服务器资源调整,建议值:CPU 核心数 × 2
pm.start_servers = 4 ; 初始进程数,建议设为 max_children × 25%
pm.min_spare_servers = 2 ; 最小空闲进程数
pm.max_spare_servers = 7 ; 最大空闲进程数
pm.max_requests = 3000 ; 每个子进程处理完 3000 个请求后自动重启
pm.process_idle_timeout = 10s ; 空闲进程 10s 后自动退出
A continuación, reinicie php-fpm Para facelo efectivo:
sudo systemctl restart php-fpm
✅ Efecto: Limite o número de procesos para evitar que php-fpm consuma demasiado os recursos da CPU.
2. Activa OPCache (para mellorar o rendemento de PHP)
PHP analiza o código cada vez que se executa, o que supón un desperdicio de recursos.
A solución? Activa OPCache e almacena o teu código PHP na caché.
编辑 php.ini documento:
sudo nano /etc/php/*/fpm/php.ini
Engade ou modifique o seguinte:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.validate_timestamps=0 # 禁用实时检测,提高性能
Despois de gardar, reinicie o proceso PHP:
sudo systemctl restart php8.3-fpm
✅ Efecto: Reduce a análise repetida do código PHP, reduce a carga da CPU e mellora a eficiencia da execución.
3. Limite o tempo máximo de execución dos scripts PHP
Se un script PHP se executa durante demasiado tempo, os recursos da CPU ocuparanse continuamente.
Establecer un período de tempo de espera razoable pode evitar que os procesos "teimudos" ocupen o servidor durante moito tempo.
Aberto php.ini documento:
sudo nano /etc/php/*/fpm/php.ini
Modifique os seguintes parámetros:
max_execution_time = 30 # PHP 脚本最多执行 30 秒
max_input_time = 30 # 处理输入数据最多 30 秒
memory_limit = 256M # 限制单个 PHP 进程的内存占用
A continuación, reinicie o proceso PHP:
sudo systemctl restart php-fpm
✅ Efecto: Evita que os procesos PHP se executen durante moito tempo e reduce o desperdicio de recursos da CPU.
4. Comproba MySQL Consulta lenta
PHP-FPM ten unha alta carga,Pode ser causado pola lenta consulta SQL!
开启 MySQL Rexistro de consultas lento, descubra as instrucións SQL que se están a frear.
Edite o ficheiro de configuración de MySQL:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Engadir a:
slow_query_log = 1
slow_query_log_file = /var/log/mysql-slow.log
long_query_time = 1 # 超过 1 秒的查询会被记录
Despois de gardar, reinicie MySQL:
sudo systemctl restart mysql
Despois usa mysqldumpslow Analiza consultas lentas:
mysqldumpslow -s c -t 10 /var/log/mysql-slow.log
✅ Efecto: Descubra consultas SQL que levan moito tempo, optimice o rendemento da base de datos e reduza indirectamente a carga de PHP.
5. Limite o uso de recursos de Memcached
Mirando a lista de procesos, atopei O uso da CPU do proceso Memcached é do 24.8 %.
Pode ser que a asignación de caché sexa demasiado grande, o que fai que a CPU procese unha gran cantidade de datos.
调整 memcached Configuración:
sudo nano /etc/memcached.conf
Revisar:
-m 32 # 限制 Memcached 内存使用 32MB
A continuación, reinicie:
sudo systemctl restart memcached
✅ Efecto: Reduce a carga da CPU do proceso Memcached e mellora a eficiencia da caché.
6. Activa Nginx para almacenar na caché recursos estáticos
Moitas veces, PHP procesa solicitudes que conteñen un gran número de CSS, JS, imaxes, pero estes ficheiros non precisan análise de PHP en absoluto!
A solución? Use Nginx para almacenar na caché recursos estáticos.
Editar configuración de Nginx:
sudo nano /etc/nginx/nginx.conf
Engadir a:
location ~* \.(jpg|jpeg|png|gif|css|js|ico|xml)$ {
expires max;
log_not_found off;
}
Despois de gardar, reinicie Nginx:
sudo systemctl restart nginx
✅ Efecto: Reduce o número de veces que PHP procesa ficheiros estáticos e reduce o uso da CPU.
7. Busca o script PHP que usa máis CPU
Se a CPU aínda é demasiado alta despois da optimización, pode ser que algúns scripts PHP estean a executarse de forma desenfreada.
Use o seguinte comando para descubrir o proceso PHP co maior uso de CPU:
ps -eo pid,user,pcpu,pmem,args --sort=-pcpu | grep php
Se consideras que un script PHP ocupa demasiada CPU, podes matalo directamente:
kill -9 PID
✅ Efecto:Identifica con precisión as "mazás malas" e evita que o proceso PHP ocupe a CPU durante moito tempo.
Resumo: 7 formas de optimizar PHP-FPM
✅ Limite o número de procesos PHP-FPM, para evitar a sobrecarga da CPU
✅ Activar OPCache, reduce a análise repetida do código PHP
✅ Configurando o tempo de espera de PHP, para evitar o funcionamento a longo prazo
✅ Comprobando consultas lentas de MySQL, optimizar o rendemento das consultas da base de datos
✅ Axustar a memoria Memcached, reducindo a carga da CPU
✅ Activa a caché estática de Nginx, reducindo a carga de análise de PHP
✅ Atopar scripts PHP de alto uso da CPU, optimización precisa
En conclusión
A optimización do servidor é como unha forma física, necesitas facer axustes precisos e non te metas.
Despois dunha serie de optimizacións, a carga da CPU do meu servidor diminuíu 80% ata 15%, o sitio web ábrese o dobre de rápido!
Se o teu servidor ten problemas similares, proba estes métodos. 💪
👉 Actúa agora! Optimiza o teu PHP-FPM e salva o teu servidor! 🚀
Blog de Hope Chen Weiliang ( https://www.chenweiliang.com/ ) compartiu "O proceso php-fpm de HestiaCP ocupa moitos recursos da CPU, como optimizalo? ”, pode ser útil para ti.
Benvido a compartir a ligazón deste artigo:https://www.chenweiliang.com/cwl-32490.html
Para desbloquear máis trucos ocultos🔑, únete á nosa canle de Telegram!
Comparte e da like se te gusta! As túas accións e Gústame son a nosa motivación continua!