Diréktori Tulisan
- 1 Alesan inti naha PHP-FPM overloaded
- 2 PHP-FPM prosés pool optimasi (core parameter adjustment)
- 3 Aktipkeun ngawaskeun status PHP-FPM pikeun ngalacak kamajuan iraha waé
- 4 Optimalkeun log PHP-FPM pikeun ngabéréskeun masalah gancang
- 5 Balikan deui PHP-FPM rutin pikeun nyegah bocor memori
- 6 Kumaha upami masalahna tetep? Optimasi salajengna!
- 7 Ringkesan: Optimalkeun PHP-FPM sareng halaman wéb moal deui ngadat!
Naha anjeun kantos ngalaman kaayaan ieu?Aksés halaman wéb dumadakan ngalambatkeun, atanapi malah nyababkeun kasalahan 500 Saatos ngamimitian deui PHP-FPM, éta normal deui., tapi masalahna muncul deui saatos sababaraha waktos? Ieu jadi frustrating!
Naha ieu kajantenan?Kanyataanna, ieu biasanaThe PHP-FPM prosés kolam renang teu ngonpigurasi leres, atawa sumberdaya server teu cukup.disababkeun ku. Dinten, urang bakal tuntas ngaoptimalkeun HestiaCP PHP-FPM dipasang ngajadikeun ramatloka sakumaha stabil sakumaha batu a!
Alesan inti naha PHP-FPM overloaded
PHP-FPM mangrupaProsés Manajer, nu tanggung jawab pikeun nanganan requests dinamis. Upami konfigurasi henteu wajar, éta tiasa nyababkeun:
- sumberdaya server béak, ngabalukarkeun PHP-FPM teu bisa ngabales requests anyar dina ragam timely;
- Saeutik teuing prosés, lamun lalulintas dumadakan naek, teu bisa diolah dina waktu;
- Pamakéan prosés teuing tinggi, ngabalukarkeun beban CPU ngabeledug.

Kumaha carana ngabejaan lamun PHP-FPM overloaded?
tiasa anggo top Atanapi htop Paréntah pikeun ningali CPU sareng pamakean mémori:
top -c
Upami anjeun ningali inpormasi prosés anu sami sareng ieu, éta hartosna PHP-FPM dijalankeun dina beban anu luhur:
1669293 abc 20 0 790284 227880 185568 R 73.1 0.9 1:30.09 php-fpm: pool chenweiliang.com
1669522 abc 20 0 801924 224224 170236 R 69.9 0.9 0:59.01 php-fpm: pool chenweiliang.com
Tingali kumaha prosés ieu nyandak langkung ti 70% tina CPU? Upami ieu sering kajadian, PHP-FPM anjeun Pasti aya masalah!
Janten, kumaha urang tiasa ngaoptimalkeun konfigurasi PHP-FPM supados server henteu kabeuratan deui?
PHP-FPM prosés pool optimasi (core parameter adjustment)
Kahiji, buka php-fpm File Konfigurasi:
sudo nano /etc/php/*/fpm/pool.d/www.conf- *Robah kana versi PHP anjeun, sapertos PHP8.3, sareng robih janten kieu:
/etc/php/8.3/fpm/pool.d/www.conf
Patarosan versi PHP diatur ku HestiaCP
v-list-web-domain user domain.com
É.g:
v-list-web-domain abc chenweiliang.com
Dina output, anjeun bakal nempo hiji hal kawas:
PHP SUPPORT yes
PHP MODE php-fpm
PHP VERSION 8.3
Ieu ngandung harti yén ramatloka ngagunakeun PHP 8.3.
Hayu urang tingali konfigurasi PHP-FPM anjeun:
[chenweiliang.com]
listen = /run/php/php8.3-fpm-chenweiliang.com.sock
listen.owner = abc
listen.group = www-data
listen.mode = 0660
user = abc
group = abc
pm = ondemand
pm.max_children = 8
pm.max_requests = 4000
pm.process_idle_timeout = 10s
Anjeun tiasa ningali éta anjeun pm Anu dipaké nyaéta ondemand,Sanaos tiasa ngirangan pamakean sumberdaya salami waktos dianggurkeun, nalika lalu lintas ujug-ujug ningkat, prosésna moal tiasa ngaréspon dina waktosna., hasilna kasalahan 500.
1. Saluyukeun parameter kolam renang prosés PHP-FPM
Lamun konfigurasi migunakeun dynamicIeu mangrupikeun padika pikeun ngamimitian sababaraha prosés kerja sareng nyaluyukeun sacara dinamis dumasar kana volume pamundut, anu tiasa ngabales langkung gancang nalika volume pamundut ujug-ujug ningkat.
Pikeun situs wéb kalayan jumlah lalu lintas anu tangtu, disarankeun pikeun dianggo pm = dynamicSabab bisa ngajaga jumlah nu tangtu prosés dianggurkeun sarta nyingkahan 500 kasalahan salila concurrency tinggi.
Disarankeun make eta ngan lamun volume aksés pisan low jeung sumberdaya memori ketat. pm = ondemand Pikeun nyimpen sumberdaya.
Disarankeun ka ondemand, sarta ngaoptimalkeun pm.max_children Jeung parameter séjén:
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 后自动退出
Naha anjeun hoyong ngarobih sapertos kieu?
pm = dynamic: Alokasi prosés leuwih fleksibel pikeun nyegah pamundut ngantosan nu bisa disababkeun ku ondemand;pm.max_children = 16: Nyegah 500 kasalahan disababkeun ku saeutik teuing prosés;pm.start_servers = 5: Hindarkeun ngamimitian prosés lambat;pm.max_requests = 3000:Nyegah bocor mémori, ngadaur mulangkeun prosés rutin.
2. Ngawatesan waktu palaksanaan skrip PHP pikeun nyegah occupancy jangka panjang
request_terminate_timeout = 30s ; 超过 30s 的 PHP 脚本自动终止
php_admin_value[memory_limit] = 128M ; 限制 PHP 进程最大内存占用
Ieu bisa nyegah sababarahaAksara PHP nu make teuing CPU bisa mawa handap server Anjeun.
Saatos nyimpen, balikan deui prosés PHP:
sudo systemctl restart php8.3-fpmAktipkeun ngawaskeun status PHP-FPM pikeun ngalacak kamajuan iraha waé
Aktipkeun ngawaskeun prosés PHP-FPM sareng ningali iraha waéJumlah prosés aktip ayeuna sareng nyuhunkeun status ngantosan, pikeun nyegah overloading server.
在 php-fpm.conf Ditambahkeun dina:
pm.status_path = /status
Lajeng, konfigurasi Nginx:
location /status {
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
allow 127.0.0.1;
deny all;
}
Ku cara kieu, anjeun tiasa http://yourdomain.com/status Pariksa PHP-FPM dina aksi!
Optimalkeun log PHP-FPM pikeun ngabéréskeun masalah gancang
在 php-fpm.conf Tambihkeun kana:
php_admin_value[error_log] = /var/log/php-fpm/error.log
php_admin_value[log_errors] = On
php_admin_value[error_reporting] = E_ALL
slowlog = /var/log/php-fpm/slow.log
request_slowlog_timeout = 5s ; 执行超过 5s 的脚本记录到日志
Ku cara kieu, iraha waé aya kasalahan 500, anjeun tiasa langsung ningali log:
tail -f /var/log/php-fpm/error.log
Tingali upami PHP ngalaporkeun kasalahan, sapertos out of memory,script execution timeout Antosan.
Balikan deui PHP-FPM rutin pikeun nyegah bocor memori
sanggup lulus cron Balikan deui PHP-FPM sacara teratur pikeun nyegah prosés anu lami-lami nyababkeunBocor memori.
crontab -e
Tambihkeun tugas anu dijadwalkeun di handap ieu pikeun otomatis balikan deui PHP-FPM jam 3 énjing unggal dinten:
0 3 * * * /usr/sbin/service php8.3-fpm restart
Kumaha upami masalahna tetep? Optimasi salajengna!
Upami anjeun masih nuturkeun optimasi di luhurAya kalana 500 kasalahan lumangsung, Anjeun bisa neruskeun kalawan optimizations handap:
1. Aktipkeun OPcache pikeun ngaronjatkeun efisiensi palaksanaan PHP
Upami OPcache teu acan diaktipkeun, anjeun tiasa pasang sapertos kieu (nganggo Ubuntu sabagé conto):
sudo apt install php8.3-opcache -y
Teras édit php.ini:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=4000
opcache.validate_timestamps=1
Pangaruh? Laju palaksanaan halaman PHP parantos ningkat pisan!
2. Optimasi konfigurasi Nginx
Pastikeun yén parameter patali Nginx lumrah, sapertos fastcgi_read_timeout Saluyukeun éta leres pikeun nyegah skrip PHP ditungtungan ku Nginx kusabab waktos palaksanaan anu panjang:
fastcgi_read_timeout 60s;
client_max_body_size 100M;
Ringkesan: Optimalkeun PHP-FPM sareng halaman wéb moal deui ngadat!
Pangaluyuan naon anu urang lakukeun saatos optimasi ieu?
✅ Ngaoptimalkeun kolam renang prosés PHP-FPM, anggo ondemandJeung ngaoptimalkeun pm.max_children parameter;
✅ Ngawatesan waktos palaksanaan skrip PHP, pikeun nyegah penjajahan CPU jangka panjang;
✅ Aktipkeun ngawas PHP-FPM, tingali beban prosés sacara real waktos;
✅ Ngaoptimalkeun log PHP-FPM, gancang troubleshoot 500 kasalahan;
✅ Balikan deui PHP-FPM rutin, nyegah bocor memori;
✅ Aktipkeun OPcache, ningkatkeun efisiensi palaksanaan PHP;
✅ Ngaoptimalkeun Konfigurasi Nginx, pikeun ngahindarkeun masalah timeout.
Saatos optimasi ieu, beban PHP-FPM bakal dikirangan pisan sareng operasi halaman wéb bakal langkung stabil! 🔥
Coba ayeuna! 💪🚀
Blog Hope Chen Weiliang ( https://www.chenweiliang.com/ ) dibagikeun "HestiaCP PHP-FPM beban teuing tinggi? Kasalahan halaman wéb dinamis 500? optimasi ieu bakal mawa pangaruh langsung! ”, éta tiasa ngabantosan anjeun.
Wilujeng ngabagikeun tautan artikel ieu:https://www.chenweiliang.com/cwl-32512.html
Pikeun muka konci trik anu langkung disumputkeun🔑, wilujeng sumping ka saluran Telegram kami!
Bagikeun sareng suka upami anjeun resep! Bagikeun sareng resep anjeun mangrupikeun motivasi anu terus kami!