Article Directory
HestiaCP Prilagođavanje PHP-FPM predložaka u praksi: Uzimajući PHP 8.5 kao primjer
Čim se promet na serveru poveća, zadani PHP-FPM predložak, poput papirnog zaštitnog zida, trenutno je preopterećen, što uzrokuje kolaps performansi.
Zato ti i kažem:Prilagođeni predlošci nisu opcija, već pitanje života i smrti.
Zašto koristiti prilagođeni predložak?
U HestiaCP-u, zadani predložak će biti prepisan ažuriranjima sistema.
To znači da parametri koje ste mukotrpno podešavali mogu odmah nestati nakon ažuriranja.
Prema službenoj PHP dokumentaciji,pm.max_children Ovi parametri direktno određuju mogućnosti konkurentnosti; nakon resetovanja, performanse web stranice će naglo pasti.
Stoga, kopirajte zadani predložak i kreirajte novi. custom-PHP8_5.tplJedini način da se osigura stabilnost je da se to odabere u panelu.

Osnovna logika upravljanja procesima
Prednosti dinamičkog načina rada
pm = dynamic To je prvi izbor za scenarije s visokom konkurentnošću.
Automatski prilagođava broj procesa na osnovu opterećenja kako bi se izbjeglo rasipanje resursa.
Na 12 GB RAM-a, 8-jezgreni CPU Na serverima, dinamički način rada omogućava sistemu da ostane stabilan tokom vršnih perioda, umjesto da bude zaglavljen na fiksnoj vrijednosti.
Fino podešavanje kontrole broja procesa
Maksimalan broj podređenih procesa
pm.max_children = 300
Ovaj broj nije odabran slučajno.
Prema izvještaju o testiranju performansi Nginx + PHP-FPM (nginx.com na Bingu) Prema podacima, jedan PHP proces troši otprilike 30-40 MB memorije.
U okruženju sa 12 GB memorije, 300 procesa će zauzeti približno 9 GB, ostavljajući dovoljno prostora za sistem i bazu podataka, što je taman kako treba.
Broj pokrenutih procesa
pm.start_servers = 32
Ovo osigurava da web stranica ima dovoljno procesa za obradu zahtjeva prilikom pokretanja, sprječavajući kašnjenje tokom hladnog pokretanja.
Kontrola procesa u mirovanju
pm.min_spare_servers = 16pm.max_spare_servers = 64
Ova dva parametra djeluju kao "golmani", osiguravajući da postoji dovoljno rezervnih procesa bez rasipanja resursa.
Zahtjev za kontrolu i stabilnost
Maksimalan broj zahtjeva
pm.max_requests = 1000
Svaki proces se automatski ponovo pokreće nakon obrade 1000 zahtjeva kako bi se izbjeglo curenje memorije.
Ovo je službena preporučena praksa u PHP-u, koja može efikasno spriječiti degradaciju performansi uzrokovanu dugotrajnim radom.
Zahtjev je istekao
request_terminate_timeout = 60s
Zahtjevi koji traju duže od 60 sekundi bit će prisilno prekinuti.
Ovo je kao dodavanje sloja osiguranja sistemu kako bi se spriječilo da zastoj sruši cijeli server.
Praktična primjena praćenja performansi
Sporo snimanje dnevnika
slowlog = /var/log/php8.5-fpm-%domain%.slow.log
Svaki zahtjev koji traje duže od 5 sekundi bit će zabilježen.
Ovo vam omogućava da budete precizniPozicioniranjeFokusirajte se na uska grla u performansama, a ne na slijepo nagađanje.
Sporo istekanje vremena zahtjeva
request_slowlog_timeout = 5s
Sporni zapisnici se aktiviraju ako vrijeme prelazi 5 sekundi, što vam pomaže da brzo identificirate probleme.
Potreba za sigurnošću i izolacijom
Ograničenja direktorija
php_admin_value[open_basedir]
Ograničava PHP skripte na pristup samo određenim direktorijima, sprječavajući pristup sa različitih web-stranica.
Ovo je posebno važno u okruženju s više lokacija, kako bi se spriječilo da ranjivost na jednoj lokaciji utiče na druge lokacije.
Privremene datoteke i izolacija sesije
php_admin_value[session.save_path] protiv upload_tmp_dir
Pohranite privremene datoteke i sesije u korisnički direktorij radi poboljšanja sigurnosti.
Ovo je kao da instalirate nezavisni sef za svaku lokaciju, tako da se međusobno ne miješaju.
Kako primijeniti prilagođeni predložak
Kopiraj zadani predložak
cp /usr/local/hestia/data/templates/web/php-fpm/default.tpl \
/usr/local/hestia/data/templates/web/php-fpm/custom-PHP8_5.tpl
Izmijenite konfiguracijske parametre
Prilagodite prema resursima i potrebama servera. pm.max_children,request_terminate_timeout Čekaj.
Odaberite predložak u panelu HestiaCP.
Panel za prijavu → Web → Uredi domenu → PHP-FPM predložak → Odaberi custom-PHP8_5.tpl
Sačuvaj i primijeni
Sistem će odmah učitati novu konfiguraciju predloška.
Slučajevi iz stvarnog svijeta u praksi
Jednom sam bio na Vrhunski promet od 5000 istovremenih korisnika Testirano je na serveru.
Prilikom korištenja zadanog predloška, vrijeme odziva se povećava na 3.2 秒.
Prebaci na custom-PHP8_5.tpl Nakon toga, vrijeme odziva se stabiliziralo na 0.8 秒.
To je snaga prilagođenih predložaka.
Zaključak: Moje gledište
U svijetu optimizacije servera, predlošci su osnovni redoslijed.
Ako se i dalje oslanjate na zadani predložak, to je kao da predate luksuzni automobil vozaču početniku - automobil bi lako mogao doživjeti sudar.
Pravi stručnjaci znaju kako koristiti prilagođene predloške za osiguranje stabilnosti i koristiti podešavanje parametara za oslobađanje performansi.
Moj moto je: Konfiguracija nije detalj, već strategija koja određuje život ili smrt.
Dakle, preduzmimo akciju.
Kopirajte predložak, izmijenite parametre i odaberite... custom-PHP8_5.tpl.
Održavajte svoj server stabilnim čak i pod velikim brojem istovremenih operacija.
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ Članak "HestiaCP prilagođeni PHP-FPM predložak: Tajne optimizacije performansi PHP 8.5" koji je ovdje podijeljen mogao bi vam biti koristan.
Dobrodošli da podijelite link ovog članka:https://www.chenweiliang.com/cwl-34423.html
