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

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

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

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 脚本最多执行 30max_input_time = 30  # 处理输入数据最多 30memory_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! 🚀

komentar

您的邮箱地址不会被公开。必填项已用*标注

Gulung menyang Top