Мақала анықтамалығы
- 1 1. php-fpm процестерінің санын шектеңіз
- 2 2. OPCache қосу (PHP өнімділігін жақсарту үшін)
- 3 3. РНР сценарийлерінің максималды орындалу уақытын шектеңіз
- 4 4. MySQL баяу сұрауларын тексеріңіз
- 5 5. Memcached ресурсты пайдалануды шектеңіз
- 6 6. Статикалық ресурстарды кэштеу үшін Nginx қосыңыз
- 7 7. Ең көп процессорды пайдаланатын PHP сценарийін табыңыз
- 8 Қысқаша мазмұны: PHP-FPM оңтайландырудың 7 жолы
- 9 қорытындысында
HestiaCP Сервердің процессорының көтерілуі? PHP-FPM процесін оңтайландыруға арналған толық нұсқаулық!

Сервердің процессоры әрқашан 100% ме? Желдеткіш қатты айналып жатыр ма? Веб-сайттың ашылу жылдамдығы баяулады ма?Кінәлі php-fpm болуы мүмкін!
Мен жақында аштым chenweiliang.com Бұл PHP пулы php-fpm Процесс процессорды ақылсыз сияқты жеп қойды және сервер бұзылды!
Серверді жандандыру үшін мен бірқатар оңтайландыру әдістерін қолданып көрдім және соңында процессорды пайдалануды азайтуға қол жеткіздім.
Енді осымен бөлісейік Тиімді оңтайландыру нұсқаулығы!🚀
1. php-fpm процестерінің санын шектеңіз
php-fpm әдепкі параметрлері болуы мүмкіншектеусізПроцесс бақылаусыз жасалады, бұл сервердің процессорының шамадан тыс жүктелуіне әкеледі.
Оны оңтайландыру үшін біз процесті басқару параметрлерін өзгерте аламыз.
қосу 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 процессор ресурстарын шамадан тыс тұтынуды болдырмау үшін процестер санын шектеңіз.
2. OPCache қосу (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 кодының қайталанатын талдауын азайтыңыз, процессор жүктемесін азайтыңыз және орындау тиімділігін арттырыңыз.
3. РНР сценарийлерінің максималды орындалу уақытын шектеңіз
РНР сценарийі тым ұзақ жұмыс істесе, 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 ресурсты пайдалануды шектеңіз
Процесстер тізімін қарап, мен таптым Жад кэштелген процесс процессорын пайдалану 24.8% құрайды!
Кэштің бөлінуі тым үлкен болуы мүмкін, бұл процессордың үлкен көлемдегі деректерді өңдеуіне себеп болуы мүмкін.
Реттеу memcached Конфигурация:
sudo nano /etc/memcached.conf
Қайта қарау:
-m 32 # 限制 Memcached 内存使用 32MB
Содан кейін қайта жүктеңіз:
sudo systemctl restart memcached
✅ әсер: Memcached процесінің CPU жүктемесін азайтыңыз және кэш тиімділігін жақсартыңыз.
6. Статикалық ресурстарды кэштеу үшін Nginx қосыңыз
Көбінесе РНР көп санды қамтитын сұрауларды өңдейді 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 статикалық файлдарды өңдеу санын азайтыңыз және процессорды пайдалануды азайтыңыз.
7. Ең көп процессорды пайдаланатын PHP сценарийін табыңыз
Оңтайландырудан кейін процессор әлі де тым жоғары болса, кейбір PHP сценарийлері жабайы жұмыс істеп тұрған болуы мүмкін.
Ең жоғары CPU пайдаланатын PHP процесін білу үшін келесі пәрменді пайдаланыңыз:
ps -eo pid,user,pcpu,pmem,args --sort=-pcpu | grep php
PHP сценарийі тым көп процессорды алып жатқанын байқасаңыз, оны тікелей жоюға болады:
kill -9 PID
✅ әсер:«Жаман алмаларды» дәл анықтаңыз және PHP процесінің ұзақ уақыт бойы процессорды басып алуына жол бермеңіз.
Қысқаша мазмұны: PHP-FPM оңтайландырудың 7 жолы
✅ PHP-FPM процестерінің санын шектеңіз, CPU шамадан тыс жүктелуін болдырмау үшін
✅ OPCache қосыңыз, PHP кодының қайталанатын талдауын азайтыңыз
✅ PHP күту уақытын орнату, ұзақ мерзімді жұмысты болдырмау үшін
✅ MySQL баяу сұрауларын тексеру, дерекқор сұрауының өнімділігін оңтайландыру
✅ Кэштелген жадты реттеңіз, CPU жүктемесін азайту
✅ Nginx статикалық кэшін қосыңыз, PHP талдау жүктемесін азайту
✅ Жоғары CPU пайдалану PHP сценарийлерін табыңыз, дәл оңтайландыру
қорытындысында
Серверді оңтайландыру фитнес сияқты, сізге дәл түзетулер енгізу керек және араласпаңыз!
Оңтайландырулар сериясынан кейін менің серверге CPU жүктемесі төмендеді 80%-дан 15%-ға дейін, веб-сайт екі есе жылдам ашылады!
Серверіңізде ұқсас мәселелер болса, осы әдістерді қолданып көріңіз! 💪
???? Қазір әрекет жасаңыз! PHP-FPM оңтайландырыңыз және серверіңізді сақтаңыз! 🚀
Hope Chen Weiliang блогы ( https://www.chenweiliang.com/ ) бөлісті "HestiaCP php-fpm процесі процессордың көп ресурстарын алады, оны қалай оңтайландыруға болады? ”, бұл сізге пайдалы болуы мүмкін.
Осы мақаланың сілтемесін бөлісуге қош келдіңіз:https://www.chenweiliang.com/cwl-32490.html
Көбірек жасырын трюктердің құлпын ашу үшін🔑 Telegram каналымызға қосылыңыз!
Бөлісу және ұнаса лайк! Сіздің бөлісулеріңіз бен лайктарыңыз біздің тұрақты мотивациямыз болып табылады!