Article Directory
Brzina je život; ako web stranica kasni i djelić sekunde, korisnici će se okrenuti i otići.
Zato u HestiaCP Optimizacija OPcache-a je ključna za uspjeh ili neuspjeh bilo koje web stranice koja se oslanja na PHP.
Šta je OPcache?
OPcache je ugrađeni mehanizam za keširanje bajtkoda u PHP-u.
Njegova funkcija je jednostavna: kešira kompajlirani PHP skript u memoriju i direktno poziva keš prilikom ponovnog pristupa, umjesto ponovnog kompajliranja.
Ovo poboljšava brzinu odziva web stranice, smanjuje opterećenje CPU-a i trenutno ublažava pritisak na server.
Prema službenoj PHP dokumentaciji:
"OPcache pruža značajna poboljšanja performansi smanjenjem vremena izvršavanja izbjegavanjem dupliranja kompajliranja skripti."
Ukratko: OPcache je PHP akcelerator.
Zašto optimizirati OPcache u HestiaCP-u?

HestiaCP je lagana kontrolna ploča koju mnogi ljudi koriste za upravljanje VPS-om ili namjenskim serverima.
OPcache je podrazumevano omogućen, ali su parametri često konzervativni.
Bez prilagođavanja, poboljšanje performansi će biti ograničeno.
na primjer:
Na serveru sa 4 jezgre i 8 GB memorije, podrazumijevana OPcache memorija je samo 64 MB, a broj keširanih datoteka je samo 4000.
Ovo je za srednju veličinu WordPress Za web stranicu, to jednostavno nije dovoljno.
Rezultat je da se keš memorija stalno briše, što uzrokuje stalne fluktuacije performansi.
Provjerite trenutni status OPcache-a
Pokrenite sljedeću naredbu:
php -i | grep opcache.enable
Vidjet ćete rezultate slične ovim:
- opcache.enable => Uključeno: Ovo znači da je OPcache omogućen u PHP-FPM-u.
- opcache.enable_cli => Isključeno: Nije omogućeno u režimu komandne linije.
- opcache.enable_file_override => Isključeno: Funkcionalnost prepisivanja datoteka nije omogućena.
To znači da iako OPcache već radi, još uvijek postoji prostor za optimizaciju.
Uredite PHP konfiguracijske datoteke
U HestiaCP-u, putanja do PHP konfiguracijske datoteke je obično:
/etc/php/8.x/fpm/php.ini
Da biste omogućili CLI način rada:
/etc/php/8.x/cli/php.ini
Pronađite odjeljak [opcache] i dodajte ili izmijenite sljedeće parametre:
[opcache] ; 启用 OPcache opcache.enable=1 opcache.enable_cli=1 ; 内存与缓存设置 opcache.memory_consumption=256 opcache.interned_strings_buffer=16 opcache.max_accelerated_files=10000 ; 文件更新检测 opcache.validate_timestamps=0 opcache.revalidate_freq=60 ; 其他优化参数 opcache.save_comments=1 opcache.fast_shutdown=1 opcache.enable_file_override=1
Detalji parametara i logika optimizacije
opcache.memory_consumption=256
Dodjeljivanje 256MB memorije OPcache-u je pogodno za srednje do velike web stranice.
Za male web stranice možete ga postaviti na 128 MB.opcache.interned_strings_buffer=16
Pruža keš memoriju stringova od 16 MB kako bi se smanjila upotreba duplih stringova.opcache.max_accelerated_files=10000
Preporučuje se da maksimalan broj keširanih datoteka bude najmanje 10000 u WordPress + plugin okruženju.opcache.revalidate_freq=60
Datoteke se provjeravaju za ažuriranja svakih 60 sekundi kako bi se smanjio česti ulazno/izlazni promet.opcache.enable_cli=1
Omogućavanje CLI keširanja je pogodno za pokretanje alata komandne linije kao što su Artisan i WP-CLI.opcache.enable_file_override=1
Dozvoli OPcache-u da preuzme keš memoriju datotečnog sistema, dodatno smanjujući pristup disku.- opcache.validate_timestamps=0
- Onemogući detekciju u stvarnom vremenuSmanjite I/O operacije sistema datoteka i poboljšajte performanse.
Međutim, to znači da morate ručno obrisati keš memoriju (ponovo pokrenuti PHP servis) nakon izmjene PHP datoteka.
Nakon izmjene konfiguracije, morate ponovo pokrenuti PHP servis da bi promjene stupile na snagu.
sudo systemctl restart php<版本>-fpmKombinacija ovih parametara omogućava web stranici da ostane stabilna čak i pod visokom konkurentnošću.
Ponovo pokrenite PHP-FPM servis
Nakon što napravite promjene, ne zaboravite ponovo pokrenuti uslugu:
sudo systemctl restart php8.x-fpm
Zatim ga ponovo pokrenite:
php -i | grep opcache
Potvrđeno je da su parametri ažurirani.
Najbolje prakse za produkcijska okruženja
U produkcijskim okruženjima, optimizacija OPcache-a uključuje više od samog podešavanja parametara; ona također uključuje sljedeće strategije:
1. Obrišite keš memoriju tokom implementacije
Nakon svakog ažuriranja koda, OPcache se mora obrisati; u suprotnom, može se učitati starija verzija.
U CI/CD skriptu možete dodati sljedeće:
<?php opcache_reset();
Alternativno, izvršite ga unutar procesa implementacije:
systemctl reload php8.x-fpm
2. Izbjegavajte često čišćenje
Prečesto brisanje keš memorije može dovesti do smanjenja performansi.
Preporučuje se čišćenje samo kada se kod ažurira, umjesto čišćenja u redovnim intervalima.
3. Pratite korištenje OPcache-a.
Možete provjeriti stopu pogodaka keša u realnom vremenu korištenjem naredbe `php -i | grep opcache` ili instaliranjem dodatka Opcache Control Panel.
Stopa pogodaka preko 95% ukazuje na razumnu konfiguraciju.
Prema službenim testovima performansi Zend-a, omogućavanje OPcache-a može poboljšati brzinu izvršavanja PHP skripti do 3 puta i smanjiti korištenje CPU-a za 50%.
Ovo nije neka vrsta mistične teorije; ovo su čvrsti podaci.
Zaključak: Moji stavovi i ključni citati
Po mom mišljenju, OPcache je kao "turbopunjač" za web stranicu. Bez njega, PHP je kao automobil bez turbopunjača, radi sporo i troši gorivo.
Optimizacija OPcache-a nije samo tehnički detalj, već i strateški izbor za rad web stranice.
Jer brzina je jednaka stopi konverzije, a performanse su jednake konkurentnosti.
Ključni citat: Budućnost web stranice ne leži u tome koliko je njen kod fensi, već u tome koliko brzo može reagirati, toliko brzo da korisnici nemaju vremena ni trepnuti.
Stoga, prestanite dozvoljavati serverima da rasipaju resurse u neefikasnim petljama.
Optimizujte svoj HestiaCP OPcache odmah i učinite da vaša web stranica leti.
Želite li da napišem najbolji OPcache konfiguracijski šablon u klasi za vaše produkcijsko okruženje, koji zatim možete direktno kopirati i koristiti u php.ini?
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ Članak "Kako optimizirati OPcache u HestiaCP-u? Keširanje opcode-a i kompajliranje PHP koda za brzo pokretanje vaše web stranice" koji je ovdje podijeljen mogao bi vam biti od pomoći.
Dobrodošli da podijelite link ovog članka:https://www.chenweiliang.com/cwl-34197.html
