Məqalələr kataloqu
- 1 1. php-fpm proseslərinin sayını məhdudlaşdırın
- 2 2. OPCache-i aktivləşdirin (PHP performansını yaxşılaşdırmaq üçün)
- 3 3. PHP skriptlərinin maksimum icra müddətini məhdudlaşdırın
- 4 4. MySQL yavaş sorğularını yoxlayın
- 5 5. Memcached resurs istifadəsini məhdudlaşdırın
- 6 6. Statik resursları keşləmək üçün Nginx-i aktiv edin
- 7 7. Ən çox CPU istifadə edən PHP skriptini tapın
- 8 Xülasə: PHP-FPM optimallaşdırmağın 7 yolu
- 9 sonda
HestiaCP Server CPU artımı? PHP-FPM prosesini optimallaşdırmaq üçün tam bələdçi!

Server CPU həmişə 100% səviyyəsindədir? Fan vəhşicəsinə fırlanır? Veb saytın açılış sürəti yavaşlayır?Günahkar php-fpm ola bilər!
Bu yaxınlarda kəşf etdim chenweiliang.com Bu PHP hovuzu php-fpm Proses CPU-nu dəli kimi yedi və server çökdü!
Serveri canlandırmaq üçün bir sıra optimallaşdırma üsullarını sınadım və nəhayət CPU istifadəsini azaltmağa nail oldum.
İndi bunu paylaşaq Effektiv Optimallaşdırma Bələdçisi! 🚀
1. php-fpm proseslərinin sayını məhdudlaşdırın
php-fpm standart parametrləri ola bilərLimitsizProses nəzarətsiz şəkildə yaradılır, bu da server CPU-nun həddindən artıq yüklənməsinə səbəb olur.
Onu optimallaşdırmaq üçün biz prosesin idarəetmə parametrlərini dəyişdirə bilərik.
işə sal php-fpm Konfiqurasiya Faylları:
sudo nano /etc/php/*/fpm/pool.d/www.conf
- *PHP8.3 kimi PHP versiyanıza dəyişin və bunu belə dəyişin:
/etc/php/8.3/fpm/pool.d/www.conf
HestiaCP tərəfindən təyin edilmiş PHP versiyasını sorğulayın
v-list-web-domain user domain.com
Məsələn:
v-list-web-domain abc chenweiliang.com
Çıxışda belə bir şey görəcəksiniz:
PHP SUPPORT yes
PHP MODE php-fpm
PHP VERSION 8.3
Bu o deməkdir ki, vebsayt istifadə edir PHP 8.3.
Aşağıdakı parametrləri tapın və dəyişdirin:
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 后自动退出
Sonra yenidən başladın php-fpm Effektiv etmək üçün:
sudo systemctl restart php-fpm
✅ Effekt: php-fpm-in CPU resurslarını həddindən artıq istehlak etməsinin qarşısını almaq üçün proseslərin sayını məhdudlaşdırın.
2. OPCache-i aktivləşdirin (PHP performansını yaxşılaşdırmaq üçün)
PHP kodu hər yerinə yetirildikdə yenidən təhlil edir, bu da resursların israfıdır.
Həll yolu? OPCache-i aktivləşdirin və PHP kodunuzu önbelleğe alın!
编辑 php.ini sənəd:
sudo nano /etc/php/*/fpm/php.ini
Aşağıdakıları əlavə edin və ya dəyişdirin:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.validate_timestamps=0 # 禁用实时检测,提高性能
Yadda saxladıqdan sonra PHP prosesini yenidən başladın:
sudo systemctl restart php8.3-fpm
✅ Effekt: PHP kodunun təkrar təhlilini azaldın, CPU yükünü azaldın və icra səmərəliliyini artırın.
3. PHP skriptlərinin maksimum icra müddətini məhdudlaşdırın
PHP skripti çox uzun müddət işləyirsə, CPU resursları davamlı olaraq işğal ediləcək.
Ağlabatan fasilə müddəti təyin etmək "inadkar" proseslərin serveri uzun müddət tutmasının qarşısını ala bilər.
işə sal php.ini sənəd:
sudo nano /etc/php/*/fpm/php.ini
Aşağıdakı parametrləri dəyişdirin:
max_execution_time = 30 # PHP 脚本最多执行 30 秒
max_input_time = 30 # 处理输入数据最多 30 秒
memory_limit = 256M # 限制单个 PHP 进程的内存占用
Sonra PHP prosesini yenidən başladın:
sudo systemctl restart php-fpm
✅ Effekt: PHP proseslərinin uzun müddət işləməsinin qarşısını alın və CPU resurs israfını azaldın.
4. Yoxlayın MySQL Yavaş sorğu
PHP-FPM yüksək yükə malikdir,Buna yavaş SQL sorğusu səbəb ola bilər!
Yandır MySQL Yavaş sorğu jurnalı, geri tutan SQL ifadələrini tapın.
MySQL konfiqurasiya faylını redaktə edin:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
添加:
slow_query_log = 1
slow_query_log_file = /var/log/mysql-slow.log
long_query_time = 1 # 超过 1 秒的查询会被记录
Yadda saxladıqdan sonra MySQL-i yenidən başladın:
sudo systemctl restart mysql
Sonra istifadə edin mysqldumpslow Yavaş sorğuları təhlil edin:
mysqldumpslow -s c -t 10 /var/log/mysql-slow.log
✅ Effekt: Vaxt aparan SQL sorğularını tapın, verilənlər bazası performansını optimallaşdırın və dolayı yolla PHP yükünü azaldın.
5. Memcached resurs istifadəsini məhdudlaşdırın
Proses siyahısına baxaraq tapdım Memcached proses CPU istifadəsi 24.8% təşkil edir!
Ola bilər ki, keş ayrılması çox böyükdür, bu da CPU-nun böyük miqdarda məlumatı emal etməsinə səbəb olur.
调整 memcached Konfiqurasiya:
sudo nano /etc/memcached.conf
Yenidən nəzərdən keçirin:
-m 32 # 限制 Memcached 内存使用 32MB
Sonra yenidən başladın:
sudo systemctl restart memcached
✅ Effekt: Memcached prosesinin CPU yükünü azaldın və keşin səmərəliliyini artırın.
6. Statik resursları keşləmək üçün Nginx-i aktiv edin
Çox vaxt PHP çoxlu sayda sorğuları emal edir CSS, JS, şəkillər, lakin bu fayllar PHP təhlilinə ümumiyyətlə ehtiyac duymur!
Həll yolu? Statik resursları keşləmək üçün Nginx istifadə edin!
Nginx konfiqurasiyasını redaktə edin:
sudo nano /etc/nginx/nginx.conf
添加:
location ~* \.(jpg|jpeg|png|gif|css|js|ico|xml)$ {
expires max;
log_not_found off;
}
Yadda saxladıqdan sonra Nginx-i yenidən başladın:
sudo systemctl restart nginx
✅ Effekt: PHP-nin statik faylları emal etməsinin sayını azaldın və CPU istifadəsini azaldın.
7. Ən çox CPU istifadə edən PHP skriptini tapın
Optimallaşdırmadan sonra CPU hələ də çox yüksəkdirsə, bu, bəzi PHP skriptlərinin vəhşi şəkildə işləməsi ola bilər.
Ən yüksək CPU istifadəsi ilə PHP prosesini tapmaq üçün aşağıdakı əmrdən istifadə edin:
ps -eo pid,user,pcpu,pmem,args --sort=-pcpu | grep php
PHP skriptinin çox CPU tutduğunu görsəniz, onu birbaşa öldürə bilərsiniz:
kill -9 PID
✅ Effekt:"Pis almaları" dəqiq müəyyənləşdirin və PHP prosesinin CPU-nu uzun müddət tutmasının qarşısını alın.
Xülasə: PHP-FPM optimallaşdırmağın 7 yolu
✅ PHP-FPM proseslərinin sayını məhdudlaşdırın, CPU yüklənməsinin qarşısını almaq üçün
✅ OPCache-ni aktivləşdirin, PHP kodunun təkrar təhlilini azaldır
✅ PHP vaxt aşımı təyin edilir, uzunmüddətli əməliyyatın qarşısını almaq üçün
✅ MySQL yavaş sorğularının yoxlanılması, verilənlər bazası sorğusunun performansını optimallaşdırın
✅ Memcached Yaddaşını tənzimləyin, CPU yükünü azaldır
✅ Nginx statik keşini aktivləşdirin, PHP təhlili yükünü azaldır
✅ Yüksək CPU istifadə PHP skriptləri tapın, dəqiq optimallaşdırma
sonda
Serverin optimallaşdırılması fitnes kimidir, dəqiq tənzimləmələr etməli və qarışmamalısınız!
Bir sıra optimallaşdırmalardan sonra serverim CPU yükü aşağı düşdü 80%-dən 15%-ə qədər, internet saytı iki dəfə tez açılır!
Əgər serverinizdə oxşar problemlər varsa, bu üsulları sınayın! 💪
???? İndi hərəkətə keçin! PHP-FPM-inizi optimallaşdırın və serverinizi yadda saxlayın! 🚀
Hope Chen Weiliang Blogu ( https://www.chenweiliang.com/ ) paylaşdı "HestiaCP php-fpm prosesi çoxlu CPU resursları tələb edir, onu necə optimallaşdırmaq olar? ”, sizin üçün faydalı ola bilər.
Bu məqalənin linkini paylaşmağa xoş gəlmisiniz:https://www.chenweiliang.com/cwl-32490.html
Daha çox gizli hiylələri açmaq üçün🔑 Telegram kanalımıza qoşulmağa xoş gəlmisiniz!
Bəyəndinizsə paylaşın və bəyənin! Paylaşımlarınız və bəyənmələriniz bizim davamlı motivasiyamızdır!