Artiklite kataloog
- 1 1. Piirake php-fpm protsesside arvu
- 2 2. Lubage OPCache (PHP jõudluse parandamiseks)
- 3 3. Piirake PHP skriptide maksimaalset täitmisaega
- 4 4. Kontrollige MySQL aeglaseid päringuid
- 5 5. Piirake vahemällu salvestatud ressursside kasutamist
- 6 6. Lubage Nginx staatiliste ressursside vahemällu salvestada
- 7 7. Leidke PHP-skript, mis kasutab kõige rohkem protsessorit
- 8 Kokkuvõte: 7 võimalust PHP-FPM optimeerimiseks
- 9 Kokkuvõtteks
HestiaCP Serveri protsessori tõus? Täielik juhend PHP-FPM protsessi optimeerimiseks!

Kas serveri protsessor on alati 100% peal? Ventilaator pöörleb metsikult? Kas veebisaidi avamise kiirus aeglustub?Süüdlane võib olla php-fpm!
Hiljuti avastasin chenweiliang.com See PHP bassein php-fpm Protsess sõi meeletult protsessorit ja server jooksis kokku!
Serveri taaselustamiseks proovisin mitmeid optimeerimismeetodeid ja lõpuks õnnestus protsessori kasutust vähendada.
Nüüd jagame seda Tõhusa optimeerimise juhend!🚀
1. Piirake php-fpm protsesside arvu
php-fpm vaikeseaded võivadpiiramatuProtsess luuakse kontrollimatult, põhjustades serveri CPU ülekoormamise.
Selle optimeerimiseks saame muuta protsessihalduse parameetreid.
Avatud php-fpm Konfiguratsioonifailid:
sudo nano /etc/php/*/fpm/pool.d/www.conf
- *Mine oma PHP versioonile, näiteks PHP8.3, ja muuda see selliseks:
/etc/php/8.3/fpm/pool.d/www.conf
Päringu esitamine HestiaCP poolt määratud PHP versiooni kohta
v-list-web-domain user domain.com
E.g:
v-list-web-domain abc chenweiliang.com
Väljundis näete midagi sellist:
PHP SUPPORT yes
PHP MODE php-fpm
PHP VERSION 8.3
See tähendab, et sait kasutab PHP 8.3.
Otsige üles ja muutke järgmisi parameetreid:
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 后自动退出
Seejärel taaskäivitage php-fpm Selle tõhusaks muutmiseks:
sudo systemctl restart php-fpm
✅ Mõju: piirake protsesside arvu, et php-fpm ei kulutaks üle protsessori ressursse.
2. Lubage OPCache (PHP jõudluse parandamiseks)
PHP analüüsib koodi uuesti iga kord, kui see käivitatakse, mis on ressursside raiskamine.
Lahendus? Lubage OPCache ja salvestage oma PHP-kood vahemällu!
Jutt php.ini dokument:
sudo nano /etc/php/*/fpm/php.ini
Lisage või muutke järgmist:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.validate_timestamps=0 # 禁用实时检测,提高性能
Pärast salvestamist taaskäivitage PHP protsess:
sudo systemctl restart php8.3-fpm
✅ Mõju: Vähendage PHP-koodi korduvat sõelumist, vähendage protsessori koormust ja parandage täitmise tõhusust.
3. Piirake PHP skriptide maksimaalset täitmisaega
Kui PHP-skript töötab liiga kaua, on protsessori ressursid pidevalt hõivatud.
Mõistliku ajalõpu perioodi määramine võib takistada "kangekaelsete" protsesside hõivamist serveris pikka aega.
Avatud php.ini dokument:
sudo nano /etc/php/*/fpm/php.ini
Muutke järgmisi parameetreid:
max_execution_time = 30 # PHP 脚本最多执行 30 秒
max_input_time = 30 # 处理输入数据最多 30 秒
memory_limit = 256M # 限制单个 PHP 进程的内存占用
Seejärel taaskäivitage PHP protsess:
sudo systemctl restart php-fpm
✅ Mõju: takistada PHP protsesside pikaajalist töötamist ja vähendada CPU ressursi raiskamist.
4. Kontrollige MySQL Aeglane päring
PHP-FPM on suure koormusega,Selle põhjuseks võib olla aeglane SQL-päring!
Avatud MySQL Aeglane päringulogi, saate teada SQL-laused, mis takistavad.
Redigeerige MySQL-i konfiguratsioonifaili:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Lisa:
slow_query_log = 1
slow_query_log_file = /var/log/mysql-slow.log
long_query_time = 1 # 超过 1 秒的查询会被记录
Pärast salvestamist taaskäivitage MySQL:
sudo systemctl restart mysql
Seejärel kasutage mysqldumpslow Analüüsige aeglaseid päringuid:
mysqldumpslow -s c -t 10 /var/log/mysql-slow.log
✅ Mõju: Uurige välja aeganõudvad SQL-päringud, optimeerige andmebaasi jõudlust ja vähendage kaudselt PHP koormust.
5. Piirake vahemällu salvestatud ressursside kasutamist
Protsesside loendit vaadates leidsin Vahemällu salvestatud protsessi protsessori kasutus on 24.8%!
Võib juhtuda, et vahemälu eraldamine on liiga suur, mistõttu protsessor töötleb suurt hulka andmeid.
调整 memcached Konfiguratsioon:
sudo nano /etc/memcached.conf
Muuda üle:
-m 32 # 限制 Memcached 内存使用 32MB
Seejärel taaskäivitage:
sudo systemctl restart memcached
✅ Mõju: vähendage Memcached protsessi CPU koormust ja parandage vahemälu tõhusust.
6. Lubage Nginx staatiliste ressursside vahemällu salvestada
Paljudel juhtudel töötleb PHP taotlusi, mis sisaldavad suurt hulka CSS, JS, pildid, kuid need failid ei vaja PHP parsimist üldse!
Lahendus? Kasutage staatiliste ressursside vahemällu salvestamiseks Nginxit!
Redigeerige Nginxi konfiguratsiooni:
sudo nano /etc/nginx/nginx.conf
Lisa:
location ~* \.(jpg|jpeg|png|gif|css|js|ico|xml)$ {
expires max;
log_not_found off;
}
Pärast salvestamist taaskäivitage Nginx:
sudo systemctl restart nginx
✅ Mõju: Vähendage PHP staatiliste failide töötlemise kordade arvu ja vähendage protsessori kasutust.
7. Leidke PHP-skript, mis kasutab kõige rohkem protsessorit
Kui protsessor on pärast optimeerimist endiselt liiga kõrge, võib juhtuda, et mõned PHP-skriptid töötavad metsikult.
Kasutage järgmist käsku, et teada saada kõige suurema CPU kasutusega PHP-protsess:
ps -eo pid,user,pcpu,pmem,args --sort=-pcpu | grep php
Kui leiate, et PHP-skript võtab liiga palju protsessorit, saate selle otse hävitada.
kill -9 PID
✅ Mõju:Tuvastage täpselt "halvad õunad" ja vältige PHP protsessi pikka aega CPU hõivamist.
Kokkuvõte: 7 võimalust PHP-FPM optimeerimiseks
✅ Piirake PHP-FPM protsesside arvu, et vältida CPU ülekoormust
✅ Luba OPCache, vähendage PHP-koodi korduvat sõelumist
✅ PHP ajalõpu seadistamine, et vältida pikaajalist töötamist
✅ MySQL aeglaste päringute kontrollimine, optimeerige andmebaasi päringu jõudlust
✅ Reguleerige vahemällu salvestatud mälu, vähendades protsessori koormust
✅ Nginxi staatilise vahemälu lubamine, vähendades PHP sõelumiskoormust
✅ Otsige suure protsessori kasutusega PHP-skripte, täpne optimeerimine
Kokkuvõtteks
Serveri optimeerimine on nagu fitness, peate tegema täpseid kohandusi ja ärge segage!
Pärast mitmeid optimeerimisi on minu serveri protsessori koormus langenud 80% kuni 15%, avaneb veebisait kaks korda kiiremini!
Kui teie serveril on sarnaseid probleeme, proovige neid meetodeid! 💪
👉 Hakka kohe tegutsema! Optimeerige oma PHP-FPM ja salvestage oma server! 🚀
Hope Chen Weiliangi ajaveeb ( https://www.chenweiliang.com/ ) jagatud "HestiaCP php-fpm protsess võtab palju protsessori ressursse, kuidas seda optimeerida? ”, võib see teile abiks olla.
Tere tulemast selle artikli linki jagama:https://www.chenweiliang.com/cwl-32490.html
Rohkemate varjatud nippide🔑 avamiseks liitu meie Telegrami kanaliga!
Jaga ja like kui meeldib! Teie jagamised ja meeldimised on meie jätkuvaks motivatsiooniks!