Artikel Direktori
CPU server HestiaCP mundhak? Pandhuan lengkap kanggo optimasi proses PHP-FPM!

Apa CPU server sampeyan terus-terusan ing 100%? Apa kipas muter-muter kaya wong edan? Apa situs web sampeyan loading alon banget? Pelakune bisa uga php-fpm!
Aku bubar nemokake chenweiliang.com Kolam PHP iki php-fpm Proses mangan CPU kaya edan, lan server nabrak!
Kanggo revive server, Aku nyoba sawetara cara Optimization lan pungkasanipun kasil ngurangi panggunaan CPU.
Saiki, ayo bareng-bareng nuduhake pandhuan optimasi sing efisien iki ! 🚀
1. Matesi jumlah pangolahan php-fpm
Setelan gawan kanggo php-fpm bisa nggawe jumlah proses sing ora winates , sing nyebabake beban CPU server sing berlebihan.
Kanggo ngoptimalake, kita bisa ngowahi paramèter manajemen proses.
uripake php-fpm File konfigurasi:
sudo nano /etc/php/*/fpm/pool.d/www.conf
- *Ganti menyang versi PHP sampeyan, kayata PHP8.3, lan ganti dadi iki:
/etc/php/8.3/fpm/pool.d/www.conf
Takon versi PHP sing disetel dening HestiaCP
v-list-web-domain user domain.com
E.g:
v-list-web-domain abc chenweiliang.com
Ing output, sampeyan bakal weruh kaya:
PHP SUPPORT yes
PHP MODE php-fpm
PHP VERSION 8.3
Iki nuduhake yen situs web kasebut nggunakake PHP 8.3.
Temokake lan owahi paramèter ing ngisor iki:
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 后自动退出
Banjur urip maneh php-fpm Kanggo nggawe efektif:
sudo systemctl restart php-fpm
✅Efek : Mbatesi jumlah proses kanggo nyegah php-fpm ngonsumsi sumber daya CPU kanthi berlebihan.
2. Aktifake OPCache (kanggo nambah kinerja PHP)
PHP reparses kode saben-saben dieksekusi, kang sampah sumber daya.
Solusine? Aktifake OPCache lan cache kode PHP sampeyan!
编辑 php.ini dokumen:
sudo nano /etc/php/*/fpm/php.ini
Nambah utawa ngowahi ing ngisor iki:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.validate_timestamps=0 # 禁用实时检测,提高性能
Sawise nyimpen, miwiti maneh proses PHP:
sudo systemctl restart php8.3-fpm
✅Efek : Ngurangi parsing kode PHP sing bola-bali, nyuda beban CPU, lan ningkatake efisiensi eksekusi.
3. Matesi wektu eksekusi maksimal skrip PHP
Yen skrip PHP mlaku suwe banget, sumber daya CPU bakal terus-terusan dikuwasani.
Nyetel wektu entek sing cukup bisa nyegah proses "nekad" supaya ora ngenggoni server nganti suwe.
uripake php.ini dokumen:
sudo nano /etc/php/*/fpm/php.ini
Owahi paramèter ing ngisor iki:
max_execution_time = 30 # PHP 脚本最多执行 30 秒
max_input_time = 30 # 处理输入数据最多 30 秒
memory_limit = 256M # 限制单个 PHP 进程的内存占用
Banjur miwiti maneh proses PHP:
sudo systemctl restart php-fpm
✅Efek : Nyegah proses PHP supaya ora mlaku sajrone wektu sing suwe, nyuda pemborosan sumber daya CPU.
4. Priksa MySQL pitakon alon
PHP-FPM nduweni beban dhuwur,Iki bisa uga disebabake dening query SQL sing alon!
Nguripake MySQL Log pitakon alon, temokake statement SQL sing nahan.
Sunting file konfigurasi MySQL:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Tambah menyang:
slow_query_log = 1
slow_query_log_file = /var/log/mysql-slow.log
long_query_time = 1 # 超过 1 秒的查询会被记录
Sawise nyimpen, miwiti maneh MySQL:
sudo systemctl restart mysql
Banjur nggunakake mysqldumpslow Analisis pitakon alon:
mysqldumpslow -s c -t 10 /var/log/mysql-slow.log
✅Asil : Ngenali query SQL sing mbuwang wektu, ngoptimalake kinerja database, lan kanthi ora langsung nyuda beban PHP.
5. Watesan Memori Panggunaan sumber daya
Nggoleki dhaptar proses, aku nemokake Panggunaan CPU proses Memcached yaiku 24.8%!
Bisa uga alokasi cache gedhe banget, nyebabake CPU ngolah data akeh.
Pangaturan memcached Konfigurasi:
sudo nano /etc/memcached.conf
Revisi:
-m 32 # 限制 Memcached 内存使用 32MB
Banjur urip maneh:
sudo systemctl restart memcached
✅Efek : Ngurangi beban CPU ing proses Memcached lan ningkatake efisiensi caching.
6. Aktifake Nginx kanggo cache sumber statis
Kaping pirang-pirang, PHP ngolah panjaluk sing ngemot akeh CSS, JS, gambar, nanging file iki ora perlu PHP parsing babar pisan!
Solusine? Gunakake Nginx kanggo nyimpen sumber daya statis!
Sunting konfigurasi Nginx:
sudo nano /etc/nginx/nginx.conf
Tambah menyang:
location ~* \.(jpg|jpeg|png|gif|css|js|ico|xml)$ {
expires max;
log_not_found off;
}
Sawise nyimpen, restart Nginx:
sudo systemctl restart nginx
✅Asil : Ngurangi kaping pirang-pirang PHP ngolah file statis, saengga nyuda panggunaan CPU.
7. Golek script PHP sing nggunakake CPU paling
Yen CPU isih dhuwur banget sawise optimasi, bisa uga sawetara script PHP mlaku wildly.
Gunakake printah ing ngisor iki kanggo ngerteni proses PHP kanthi panggunaan CPU paling dhuwur:
ps -eo pid,user,pcpu,pmem,args --sort=-pcpu | grep php
Yen sampeyan nemokake manawa skrip PHP njupuk CPU akeh banget, sampeyan bisa langsung mateni:
kill -9 PID
✅Asil : Ngenali "apel ala" kanthi akurat lan nyegah proses PHP ngenggoni CPU sajrone wektu sing suwe.
Ringkesan: 7 cara kanggo ngoptimalake PHP-FPM
✅ Matesi jumlah pangolahan PHP-FPM, kanggo nyegah kakehan CPU
✅ Aktifake OPCache, nyuda parsing bola-bali kode PHP
✅ Nyetel wektu entek PHP, kanggo nyegah operasi jangka panjang
✅ Priksa pitakon alon MySQL, ngoptimalake kinerja query database
✅ Nyetel Memori Memcached, nyuda beban CPU
✅ Aktifake cache statis Nginx, nyuda beban parsing PHP
✅ Temokake skrip PHP panggunaan CPU sing dhuwur, optimasi sing tepat
kesimpulan
Optimasi server kaya fitness, sampeyan kudu nggawe pangaturan sing tepat lan aja kekacoan!
Sawise sawetara optimasi, beban CPU server saya mudhun 80% nganti 15%, situs web mbukak kaping pindho kanthi cepet!
Yen server sampeyan duwe masalah sing padha, coba cara iki! 💪
👉Tumindak saiki! Optimalake PHP-FPM sampeyan lan simpen server sampeyan! 🚀
Muga-muga artikel "Proses php-fpm HestiaCP ngonsumsi akeh sumber daya CPU, kepiye carane ngoptimalake?" sing dituduhake ing blog Chen Weiliang ( https://www.chenweiliang.com/ ) iki bisa migunani kanggo sampeyan.
Monggo dipunbagi pranala artikel punika: https://www.chenweiliang.com/cwl-32490.html
