Proses php-fpm HestiaCP njupuk akeh sumber daya CPU Carane aku bisa ngoptimalake?

HestiaCP Server CPU lonjakan? Pandhuan lengkap kanggo ngoptimalake proses PHP-FPM!

Proses php-fpm HestiaCP njupuk akeh sumber daya CPU Carane aku bisa ngoptimalake?

Apa CPU server tansah ing 100%? Kipas angin muter liar? Apa kacepetan mbukak situs web saya mudhun?Panyebab 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 nuduhake iki Pandhuan Optimization Efisien! 🚀

1. Matesi jumlah pangolahan php-fpm

setelan gawan php-fpm bisa ugatanpa watesProses digawe ora bisa dikendhaleni, nyebabake CPU server overload.

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 tegese situs web 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

效果: Matesi jumlah pangolahan kanggo nyegah php-fpm saka sumber daya CPU liwat-akeh.

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

效果: Ngurangi parsing bola-bali kode PHP, 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 脚本最多执行 30max_input_time = 30  # 处理输入数据最多 30memory_limit = 256M  # 限制单个 PHP 进程的内存占用

Banjur miwiti maneh proses PHP:

sudo systemctl restart php-fpm

效果: Nyegah pangolahan PHP saka mlaku kanggo dangu lan ngurangi sampah 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

效果: Temokake pitakon SQL sing mbutuhake wektu, ngoptimalake kinerja database, lan kanthi ora langsung nyuda beban PHP.

5. Matesi panggunaan sumber daya Memcached

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

效果: Ngurangi beban CPU saka proses Memcached lan nambah efisiensi cache.

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

效果: Ngurangi kaping PHP ngolah file statis lan 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

效果Ngenali kanthi akurat "apel ala" lan nyegah proses PHP supaya ora ngenggoni CPU nganti 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! Ngoptimalake PHP-FPM lan simpen server sampeyan! 🚀

komentar

Alamat email sampeyan ora bakal diterbitake. Bidhang sing dibutuhake digunakake * Panggilan

Gulung menyang Top