Saraka ya Nakala
HestiaCP Kuongezeka kwa CPU ya seva? Mwongozo kamili wa kuboresha mchakato wa PHP-FPM!

Je, seva ya CPU huwa iko 100% kila wakati? Shabiki anazunguka kwa fujo? Je, kasi ya kufungua tovuti inapungua?Mtuhumiwa anaweza kuwa php-fpm!
Hivi majuzi niligundua chenweiliang.com Dimbwi hili la PHP php-fpm Mchakato ulikula CPU kama wazimu, na seva ikaanguka!
Ili kufufua seva, nilijaribu safu ya njia za utoshelezaji na mwishowe nikafanikiwa kupunguza utumiaji wa CPU.
Sasa, hebu tushiriki hii Mwongozo wa Uboreshaji Bora! 🚀
1. Weka kikomo idadi ya michakato ya php-fpm
mipangilio chaguo-msingi ya php-fpm inawezaisiyo na kikomoMchakato huu umeundwa bila kudhibitiwa, na kusababisha CPU ya seva kupakia kupita kiasi.
Ili kuiboresha, tunaweza kurekebisha vigezo vya usimamizi wa mchakato.
washa php-fpm Faili za Usanidi:
sudo nano /etc/php/*/fpm/pool.d/www.conf
- *Badilisha kwa toleo lako la PHP, kama vile PHP8.3, na ubadilishe kuwa hii:
/etc/php/8.3/fpm/pool.d/www.conf
Hoji toleo la PHP lililowekwa na HestiaCP
v-list-web-domain user domain.com
Mfano:
v-list-web-domain abc chenweiliang.com
Katika pato, utaona kitu kama:
PHP SUPPORT yes
PHP MODE php-fpm
PHP VERSION 8.3
Hii ina maana kwamba tovuti hutumia PHP 8.3.
Pata na urekebishe vigezo vifuatavyo:
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 后自动退出
Kisha washa upya php-fpm Ili kuifanya iwe na ufanisi:
sudo systemctl restart php-fpm
✅ athari: Weka kikomo idadi ya michakato ili kuzuia php-fpm kutoka kwa kutumia rasilimali za CPU kupita kiasi.
2. Washa OPCache (ili kuboresha utendaji wa PHP)
PHP hubadilisha msimbo kila wakati inapotekelezwa, ambayo ni upotezaji wa rasilimali.
Suluhisho? Washa OPCache na uhifadhi msimbo wako wa PHP!
编辑 php.ini faili:
sudo nano /etc/php/*/fpm/php.ini
Ongeza au rekebisha yafuatayo:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.validate_timestamps=0 # 禁用实时检测,提高性能
Baada ya kuhifadhi, anza tena mchakato wa PHP:
sudo systemctl restart php8.3-fpm
✅ athari: Punguza uchanganuzi unaorudiwa wa msimbo wa PHP, punguza mzigo wa CPU, na uboresha ufanisi wa utekelezaji.
3. Weka kikomo muda wa juu zaidi wa utekelezaji wa hati za PHP
Ikiwa hati ya PHP itaendeshwa kwa muda mrefu sana, rasilimali za CPU zitaendelea kukaliwa.
Kuweka muda unaofaa wa kuisha kunaweza kuzuia michakato ya "ukaidi" kuchukua seva kwa muda mrefu.
washa php.ini faili:
sudo nano /etc/php/*/fpm/php.ini
Rekebisha vigezo vifuatavyo:
max_execution_time = 30 # PHP 脚本最多执行 30 秒
max_input_time = 30 # 处理输入数据最多 30 秒
memory_limit = 256M # 限制单个 PHP 进程的内存占用
Kisha anza tena mchakato wa PHP:
sudo systemctl restart php-fpm
✅ athari: Zuia michakato ya PHP kufanya kazi kwa muda mrefu na punguza upotezaji wa rasilimali ya CPU.
4. Angalia MySQL Swali la polepole
PHP-FPM ina mzigo mkubwa,Inaweza kusababishwa na swala la polepole la SQL!
开启 MySQL Kumbukumbu ya hoja polepole, tafuta taarifa za SQL ambazo zinazuia.
Hariri faili ya usanidi ya MySQL:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Ongeza kwa:
slow_query_log = 1
slow_query_log_file = /var/log/mysql-slow.log
long_query_time = 1 # 超过 1 秒的查询会被记录
Baada ya kuhifadhi, anza tena MySQL:
sudo systemctl restart mysql
Kisha tumia mysqldumpslow Changanua maswali ya polepole:
mysqldumpslow -s c -t 10 /var/log/mysql-slow.log
✅ athari: Jua maswali ya SQL yanayotumia muda, boresha utendakazi wa hifadhidata, na upunguze mzigo wa PHP kwa njia isiyo ya moja kwa moja.
5. Punguza matumizi ya rasilimali iliyohifadhiwa
Kuangalia orodha ya mchakato, nilipata Mchakato wa Memcached matumizi ya CPU ni 24.8%!
Huenda mgao wa akiba ni mkubwa sana, na kusababisha CPU kuchakata kiasi kikubwa cha data.
调整 memcached Usanidi:
sudo nano /etc/memcached.conf
Kagua:
-m 32 # 限制 Memcached 内存使用 32MB
Kisha washa upya:
sudo systemctl restart memcached
✅ athari: Punguza mzigo wa CPU wa mchakato wa Memcached na uboresha ufanisi wa akiba.
6. Washa Nginx kuweka akiba ya rasilimali tuli
Mara nyingi, PHP huchakata maombi ambayo yana idadi kubwa ya CSS, JS, picha, lakini faili hizi hazihitaji uchanganuzi wa PHP hata kidogo!
Suluhisho? Tumia Nginx kuweka akiba ya rasilimali tuli!
Hariri usanidi wa Nginx:
sudo nano /etc/nginx/nginx.conf
Ongeza kwa:
location ~* \.(jpg|jpeg|png|gif|css|js|ico|xml)$ {
expires max;
log_not_found off;
}
Baada ya kuhifadhi, anza tena Nginx:
sudo systemctl restart nginx
✅ athari: Punguza idadi ya mara PHP huchakata faili tuli na kupunguza matumizi ya CPU.
7. Tafuta hati ya PHP inayotumia CPU nyingi zaidi
Ikiwa CPU bado iko juu sana baada ya uboreshaji, inaweza kuwa kwamba hati zingine za PHP zinaendeshwa kwa fujo.
Tumia amri ifuatayo ili kujua mchakato wa PHP na matumizi ya juu zaidi ya CPU:
ps -eo pid,user,pcpu,pmem,args --sort=-pcpu | grep php
Ukigundua kuwa hati ya PHP inachukua CPU nyingi sana, unaweza kuiua moja kwa moja:
kill -9 PID
✅ athari:Tambua kwa usahihi "matofaa mabaya" na uzuie mchakato wa PHP kuchukua CPU kwa muda mrefu.
Muhtasari: Njia 7 za kuboresha PHP-FPM
✅ Weka kikomo idadi ya michakato ya PHP-FPM, ili kuzuia upakiaji wa CPU kupita kiasi
✅ Washa OPCache, punguza uchanganuzi unaorudiwa wa msimbo wa PHP
✅ Kuweka muda wa PHP kuisha, kuzuia operesheni ya muda mrefu
✅ Kuangalia maswali ya polepole ya MySQL, boresha utendakazi wa hoja ya hifadhidata
✅ Rekebisha Kumbukumbu Iliyohifadhiwa, kupunguza mzigo wa CPU
✅ Washa akiba tuli ya Nginx, kupunguza mzigo wa uchanganuzi wa PHP
✅ Pata hati za PHP za matumizi ya juu ya CPU, uboreshaji sahihi
hitimisho
Uboreshaji wa seva ni kama usawa, unahitaji kufanya marekebisho sahihi na usisumbue!
Baada ya mfululizo wa uboreshaji, mzigo wangu wa CPU kwenye seva umeshuka kutoka 80% hadi 15%, tovuti inafungua mara mbili haraka!
Ikiwa seva yako ina shida sawa, jaribu njia hizi! 💪
???? Chukua hatua sasa! Boresha PHP-FPM yako na uhifadhi seva yako! 🚀
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) pamoja "Mchakato wa HestiaCP php-fpm unachukua rasilimali nyingi za CPU, jinsi ya kuiboresha? ”, inaweza kuwa msaada kwako.
Karibu kushiriki kiungo cha makala hii:https://www.chenweiliang.com/cwl-32490.html
