Article Directory
- 1 1. php-fpm процесстеринин санын чектөө
- 2 2. OPCache иштетүү (PHP иштешин жакшыртуу үчүн)
- 3 3. PHP скрипттерин аткаруунун максималдуу убактысын чектөө
- 4 4. MySQL жай сурамдарын текшерүү
- 5 5. Memcached ресурстарды колдонууну чектөө
- 6 6. Статикалык ресурстарды кэшдөө үчүн Nginxти иштетиңиз
- 7 7. Эң көп CPU колдонгон PHP сценарийин табыңыз
- 8 Кыскача маалымат: PHP-FPMди оптималдаштыруунун 7 жолу
- 9 аягында
HestiaCP Сервердин CPU ылдамдыгы? PHP-FPM процессин оптималдаштыруу боюнча толук колдонмо!

Server CPU ар дайым 100% болобу? желдеткич жапайы айланып жатат? Вебсайтты ачуу ылдамдыгы басаңдап жатабы?Күнөөлүү php-fpm болушу мүмкүн!
Мен жакында таптым chenweiliang.com Бул PHP бассейни php-fpm Процесс CPUну жиндидей жеп, сервер кыйрады!
Серверди жандандыруу үчүн мен оптималдаштыруунун бир катар ыкмаларын сынап көрдүм жана акыры CPU колдонууну азайтууга жетиштим.
Эми муну бөлүшөлү Натыйжалуу оптималдаштыруу колдонмосу! 🚀
1. php-fpm процесстеринин санын чектөө
php-fpm демейки жөндөөлөрү мүмкүнЖПроцесс контролсуз түзүлүп, сервердин CPU ашыкча жүктөлүшүнө алып келет.
Аны оптималдаштыруу үчүн биз процессти башкаруу параметрлерин өзгөртө алабыз.
күйгүзүү php-fpm Конфигурация файлдары:
sudo nano /etc/php/*/fpm/pool.d/www.conf
- *PHP8.3 сыяктуу PHP версияңызга өзгөртүңүз жана аны төмөнкүгө өзгөртүңүз:
/etc/php/8.3/fpm/pool.d/www.conf
HestiaCP тарабынан коюлган PHP версиясын сураңыз
v-list-web-domain user domain.com
мис:
v-list-web-domain abc chenweiliang.com
Чыгармада сиз төмөнкүдөй нерсени көрөсүз:
PHP SUPPORT yes
PHP MODE php-fpm
PHP VERSION 8.3
Бул веб-сайт колдонот дегенди билдирет PHP 8.3.
Төмөнкү параметрлерди табыңыз жана өзгөртүңүз:
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 后自动退出
Андан кийин кайра жүктөө php-fpm Аны натыйжалуу кылуу үчүн:
sudo systemctl restart php-fpm
✅ натыйжа: php-fpm CPU ресурстарын ашыкча керектөөсүнө жол бербөө үчүн процесстердин санын чектеңиз.
2. OPCache иштетүү (PHP иштешин жакшыртуу үчүн)
PHP кодду аткарылган сайын кайра иштеп чыгат, бул ресурстарды коротуу.
чечим? OPCache иштетиңиз жана PHP кодуңузду кэштеңиз!
编辑 php.ini 文件 :
sudo nano /etc/php/*/fpm/php.ini
Төмөнкүлөрдү кошуу же өзгөртүү:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.validate_timestamps=0 # 禁用实时检测,提高性能
Сактоодон кийин PHP процессин кайра баштаңыз:
sudo systemctl restart php8.3-fpm
✅ натыйжа: PHP кодун кайталап талдоону азайтыңыз, CPU жүгүн азайтыңыз жана аткаруунун натыйжалуулугун жогорулатыңыз.
3. PHP скрипттерин аткаруунун максималдуу убактысын чектөө
Эгерде PHP скрипти өтө узакка созулса, CPU ресурстары тынымсыз ээлеп калат.
Жөнөкөй тайм-аут мөөнөтүн коюу "кежир" процесстердин серверди узак убакытка ээлешинен сактайт.
күйгүзүү php.ini 文件 :
sudo nano /etc/php/*/fpm/php.ini
Төмөнкү параметрлерди өзгөртүү:
max_execution_time = 30 # PHP 脚本最多执行 30 秒
max_input_time = 30 # 处理输入数据最多 30 秒
memory_limit = 256M # 限制单个 PHP 进程的内存占用
Андан кийин PHP процессин кайра баштаңыз:
sudo systemctl restart php-fpm
✅ натыйжа: PHP процесстеринин узак убакытка иштешине жол бербөө жана CPU ресурстарынын калдыктарын азайтыңыз.
4. Текшерүү MySQL Жай суроо
PHP-FPM жогорку жүктөмгө ээ,Бул жай SQL сурамынан улам болушу мүмкүн!
Күйгүзүү MySQL Жай сурам журналы, кармап турган SQL билдирүүлөрүн табыңыз.
MySQL конфигурация файлын түзөтүңүз:
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 秒的查询会被记录
Сактоодон кийин, MySQLди өчүрүп күйгүзүңүз:
sudo systemctl restart mysql
Андан кийин колдонуу mysqldumpslow Жай сурамдарды талдоо:
mysqldumpslow -s c -t 10 /var/log/mysql-slow.log
✅ натыйжа: Убакытты талап кылган SQL сурамдарын табыңыз, маалымат базасынын иштешин оптималдаштырыңыз жана PHP жүгүн кыйыр түрдө азайтыңыз.
5. Memcached ресурстарды колдонууну чектөө
Процесс тизмесин карап, мен таптым Memcached процесси CPU колдонуу 24.8% түзөт!
Бул кэш бөлүштүрүү өтө чоң болушу мүмкүн, бул CPU чоң көлөмдөгү маалыматтарды иштетүүгө себеп болушу мүмкүн.
Жөндөө memcached Конфигурация:
sudo nano /etc/memcached.conf
Кайра карап чыгуу:
-m 32 # 限制 Memcached 内存使用 32MB
Андан кийин кайра жүктөө:
sudo systemctl restart memcached
✅ натыйжа: Memcached процессинин CPU жүгүн азайтып, кэштин натыйжалуулугун жогорулатыңыз.
6. Статикалык ресурстарды кэшдөө үчүн Nginxти иштетиңиз
Көп жолу, PHP көп сандагы сурамдарды иштетет CSS, JS, сүрөттөр, бирок бул файлдарга PHP талдоо таптакыр кереги жок!
чечим? Статикалык ресурстарды кэшдөө үчүн Nginx колдонуңуз!
Nginx конфигурациясын түзөтүү:
sudo nano /etc/nginx/nginx.conf
Төмөнкүгө кошуу:
location ~* \.(jpg|jpeg|png|gif|css|js|ico|xml)$ {
expires max;
log_not_found off;
}
Сактоодон кийин Nginxти өчүрүп күйгүзүңүз:
sudo systemctl restart nginx
✅ натыйжа: PHP статикалык файлдарды канча жолу иштетип, CPU колдонууну азайтат.
7. Эң көп CPU колдонгон PHP сценарийин табыңыз
Эгер оптималдаштыруудан кийин CPU дагы эле өтө жогору болсо, анда кээ бир PHP скрипттери жапайы иштеп жаткан болушу мүмкүн.
Эң жогорку CPU колдонуу менен PHP процессин билүү үчүн төмөнкү буйрукту колдонуңуз:
ps -eo pid,user,pcpu,pmem,args --sort=-pcpu | grep php
Эгер сиз PHP скрипти өтө көп CPU ээлеп жатканын байкасаңыз, аны түздөн-түз өлтүрө аласыз:
kill -9 PID
✅ натыйжа:"Жаман алмаларды" так аныктап, PHP процессинин процессорду узак убакытка ээлешине жол бербөө.
Кыскача маалымат: PHP-FPMди оптималдаштыруунун 7 жолу
✅ PHP-FPM процесстеринин санын чектөө, CPU ашыкча жүктөлүшүн алдын алуу үчүн
✅ OPCache иштетүү, PHP кодун кайталап талдоону азайтат
✅ PHP күтүү убакытын орнотуу, узак мөөнөттүү иштешин алдын алуу үчүн
✅ MySQL жай сурамдарын текшерүү, маалымат базасы сурамынын иштешин оптималдаштыруу
✅ Memcached Memory тууралоо, CPU жүгүн азайтуу
✅ Nginx статикалык кэшин иштетүү, PHP талдоо жүгүн азайтуу
✅ Жогорку CPU колдонуу PHP скрипттерин табыңыз, так оптималдаштыруу
аягында
Серверди оптималдаштыруу фитнес сыяктуу, сиз так тууралоолорду киргизишиңиз керек жана баш аламандык кылбаңыз!
Бир катар оптималдаштыруулардан кийин серверимдин CPU жүгү төмөндөдү 80% дан 15% га чейин, веб-сайт эки эсе тез ачылат!
Эгер сервериңизде ушундай көйгөйлөр болсо, бул ыкмаларды колдонуп көрүңүз! 💪
???? Азыр аракет кылыңыз! PHP-FPMиңизди оптималдаштырып, сервериңизди сактаңыз! 🚀
Hope Chen Weiliang блогу ( https://www.chenweiliang.com/ ) бөлүштү "HestiaCP php-fpm процесси көп CPU ресурстарын талап кылат, аны кантип оптималдаштыруу керек? ", бул сизге пайдалуу болушу мүмкүн.
Бул макаланын шилтемесин бөлүшүүгө кош келиңиз:https://www.chenweiliang.com/cwl-32490.html
Көбүрөөк жашыруун трюктарды ачуу үчүн🔑, биздин Telegram каналыбызга кошулуңуз!
Бөлүшүп, жакса лайк! Сиздин бөлүшүүлөрүңүз жана лайктарыңыз биздин туруктуу мотивациябыз!