Drejtoria e artikujve
- 1 1. Kufizoni numrin e proceseve php-fpm
- 2 2. Aktivizo OPCache (për të përmirësuar performancën e PHP)
- 3 3. Kufizoni kohën maksimale të ekzekutimit të skripteve PHP
- 4 4. Kontrolloni pyetjet e ngadalta të MySQL
- 5 5. Kufizoni përdorimin e burimeve të Memcached
- 6 6. Aktivizo Nginx të ruajë burimet statike
- 7 7. Gjeni skriptin PHP që përdor më shumë CPU
- 8 Përmbledhje: 7 mënyra për të optimizuar PHP-FPM
- 9 në përfundim
HestiaCP Rritja e CPU-së së serverit? Një udhëzues i plotë për optimizimin e procesit PHP-FPM!

A është CPU e serverit gjithmonë në 100%? Tifozja po rrotullohet egërsisht? A po ngadalësohet shpejtësia e hapjes së faqes në internet?Fajtori mund të jetë php-fpm!
Kohët e fundit zbulova chenweiliang.com Kjo pishinë PHP php-fpm Procesi e gëlltiti CPU-në si një çmenduri, dhe serveri u bllokua!
Për të ringjallur serverin, provova një sërë metodash optimizimi dhe më në fund ia dola të zvogëloja përdorimin e CPU-së.
Tani, le ta ndajmë këtë Udhëzues për optimizim efikas!🚀
1. Kufizoni numrin e proceseve php-fpm
php-fpm cilësimet e paracaktuara mund tëe pakufizuarProcesi krijohet në mënyrë të pakontrolluar, duke shkaktuar mbingarkimin e CPU-së së serverit.
Për ta optimizuar atë, ne mund të modifikojmë parametrat e menaxhimit të procesit.
hapur php-fpm Skedarët e konfigurimit:
sudo nano /etc/php/*/fpm/pool.d/www.conf
- *Ndryshoni në versionin tuaj të PHP-së, siç është PHP8.3, dhe ndryshojeni atë në këtë:
/etc/php/8.3/fpm/pool.d/www.conf
Kërko versionin PHP të vendosur nga HestiaCP
v-list-web-domain user domain.com
E.g:
v-list-web-domain abc chenweiliang.com
Në dalje, do të shihni diçka të tillë:
PHP SUPPORT yes
PHP MODE php-fpm
PHP VERSION 8.3
Kjo do të thotë që faqja e internetit përdor PHP 8.3.
Gjeni dhe modifikoni parametrat e mëposhtëm:
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 后自动退出
Pastaj rindizni php-fpm Për ta bërë atë efektiv:
sudo systemctl restart php-fpm
✅ efekt: Kufizoni numrin e proceseve për të parandaluar php-fpm nga mbikonsumimi i burimeve të CPU.
2. Aktivizo OPCache (për të përmirësuar performancën e PHP)
PHP riparon kodin sa herë që ekzekutohet, gjë që është humbje burimesh.
Zgjidhja? Aktivizo OPCache dhe ruaj kodin tënd PHP!
编辑 php.ini dokument:
sudo nano /etc/php/*/fpm/php.ini
Shtoni ose modifikoni sa vijon:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.validate_timestamps=0 # 禁用实时检测,提高性能
Pas ruajtjes, rinisni procesin PHP:
sudo systemctl restart php8.3-fpm
✅ efekt: Zvogëloni analizimin e përsëritur të kodit PHP, zvogëloni ngarkesën e CPU-së dhe përmirësoni efikasitetin e ekzekutimit.
3. Kufizoni kohën maksimale të ekzekutimit të skripteve PHP
Nëse një skript PHP funksionon për një kohë të gjatë, burimet e CPU-së do të zënë vazhdimisht.
Vendosja e një periudhe të arsyeshme kohore mund të parandalojë që proceset "kokëfortë" të pushtojnë serverin për një kohë të gjatë.
hapur php.ini dokument:
sudo nano /etc/php/*/fpm/php.ini
Ndryshoni parametrat e mëposhtëm:
max_execution_time = 30 # PHP 脚本最多执行 30 秒
max_input_time = 30 # 处理输入数据最多 30 秒
memory_limit = 256M # 限制单个 PHP 进程的内存占用
Pastaj rinisni procesin PHP:
sudo systemctl restart php-fpm
✅ efekt: Parandaloni funksionimin e proceseve PHP për një kohë të gjatë dhe zvogëloni humbjen e burimeve të CPU.
4. Kontrollo MySQL Pyetje e ngadaltë
PHP-FPM ka një ngarkesë të lartë,Mund të shkaktohet nga pyetja e ngadaltë SQL!
开启 MySQL Regjistri i ngadaltë i pyetjeve, zbuloni deklaratat SQL që po pengojnë.
Redaktoni skedarin e konfigurimit MySQL:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Shto në:
slow_query_log = 1
slow_query_log_file = /var/log/mysql-slow.log
long_query_time = 1 # 超过 1 秒的查询会被记录
Pas ruajtjes, rinisni MySQL:
sudo systemctl restart mysql
Më pas përdorni mysqldumpslow Analizoni pyetjet e ngadalta:
mysqldumpslow -s c -t 10 /var/log/mysql-slow.log
✅ efekt: Zbuloni pyetjet SQL që kërkojnë kohë, optimizoni performancën e bazës së të dhënave dhe ulni në mënyrë indirekte ngarkesën PHP.
5. Kufizoni përdorimin e burimeve të Memcached
Duke parë listën e proceseve, gjeta Përdorimi i CPU-së i procesit Memcached është 24.8%!
Mund të ndodhë që shpërndarja e cache-it është shumë e madhe, duke bërë që CPU të përpunojë një sasi të madhe të dhënash.
调整 memcached Konfigurimi:
sudo nano /etc/memcached.conf
Rishikoni:
-m 32 # 限制 Memcached 内存使用 32MB
Pastaj rindizni:
sudo systemctl restart memcached
✅ efekt: Ulni ngarkesën e CPU-së të procesit Memcached dhe përmirësoni efikasitetin e cache-it.
6. Aktivizo Nginx të ruajë burimet statike
Shumë herë, PHP përpunon kërkesa që përmbajnë një numër të madh të CSS, JS, imazhe, por këta skedarë nuk kanë nevojë fare për analizë PHP!
Zgjidhja? Përdorni Nginx për të memorizuar burimet statike!
Ndrysho konfigurimin e Nginx:
sudo nano /etc/nginx/nginx.conf
Shto në:
location ~* \.(jpg|jpeg|png|gif|css|js|ico|xml)$ {
expires max;
log_not_found off;
}
Pas ruajtjes, rinisni Nginx:
sudo systemctl restart nginx
✅ efekt: Zvogëloni numrin e herëve që PHP përpunon skedarë statikë dhe reduktoni përdorimin e CPU-së.
7. Gjeni skriptin PHP që përdor më shumë CPU
Nëse CPU është ende shumë i lartë pas optimizimit, mund të ndodhë që disa skripte PHP po funksionojnë pa masë.
Përdorni komandën e mëposhtme për të zbuluar procesin PHP me përdorimin më të lartë të CPU:
ps -eo pid,user,pcpu,pmem,args --sort=-pcpu | grep php
Nëse zbuloni se një skript PHP po merr shumë CPU, mund ta vrisni drejtpërdrejt:
kill -9 PID
✅ efekt:Identifikoni me saktësi "mollët e këqija" dhe parandaloni që procesi PHP të pushtojë CPU-në për një kohë të gjatë.
Përmbledhje: 7 mënyra për të optimizuar PHP-FPM
✅ Kufizoni numrin e proceseve PHP-FPM, për të parandaluar mbingarkimin e CPU-së
✅ Aktivizo OPCache, zvogëloni analizimin e përsëritur të kodit PHP
✅ Vendosja e afatit të PHP-së, për të parandaluar funksionimin afatgjatë
✅ Kontrollimi i pyetjeve të ngadalta të MySQL, optimizoni performancën e pyetjeve të bazës së të dhënave
✅ Rregulloni kujtesën e memorizuar, duke reduktuar barrën e CPU-së
✅ Aktivizo cache statike Nginx, duke reduktuar barrën e analizimit të PHP
✅ Gjeni skriptet PHP me përdorim të lartë të CPU-së, optimizim i saktë
në përfundim
Optimizimi i serverit është si palestër, ju duhet të bëni rregullime të sakta dhe mos u ngatërroni!
Pas një sërë optimizimesh, ngarkesa e CPU-së së serverit tim ka rënë nga 80% deri në 15%, faqja hapet dy herë më shpejt!
Nëse serveri juaj ka probleme të ngjashme, provoni këto metoda! 💪
???? Merrni masa tani! Optimizoni PHP-FPM tuaj dhe ruani serverin tuaj! 🚀
Blogu Hope Chen Weiliang ( https://www.chenweiliang.com/ ) shared "Procesi HestiaCP php-fpm merr shumë burime të CPU, si ta optimizoni atë? ”, mund të jetë e dobishme për ju.
Mirë se vini të shpërndani lidhjen e këtij artikulli:https://www.chenweiliang.com/cwl-32490.html
Për të zhbllokuar më shumë truke të fshehura🔑, mirë se vini të bashkoheni me kanalin tonë në Telegram!
Shpërndaje dhe like nëse të pëlqen! Ndarjet dhe pëlqimet tuaja janë motivimi ynë i vazhdueshëm!