Puncte:0

Cum se memorează PHP pe nginx?

drapel in
Sam

Spuneți că creez un site de știri pe exemplu.com, iar acum am example.com/latest.php, acesta este un script care face multe interogări și vreau să îmbunătățesc performanța. Cum pot configura php/nginx, astfel încât să genereze cache și când vine un vizitator, cache-ul este trimis, astfel încât el/ea nu va aștepta prea mult.
PS: Pe example.com/donotcache.php, nu vreau să fie stocat în cache (script de numărare a utilizatorilor), cum să o fac? Lista de întrebări:

  1. De ce module am nevoie?
  2. Ce modificări să faci la configurația nginx?
  3. Ce se întâmplă dacă trebuie să folosesc CSP (Politica de securitate a conținutului) nonce (Atunci fiecare pagină este dinamică)?
drapel us
Primul lucru pe care ar trebui să-l faceți este să vă verificați structura și indexurile bazei de date. Dacă doriți să utilizați CSP nonce, atunci nu puteți stoca în cache în nginx. Configurația cachei nginx depinde de configurația dvs. curentă, așa că vă rugăm să adăugați rezultatul `nginx -T` la întrebare, astfel încât directivele respective să poată fi adăugate.
mforsetti avatar
drapel tz
ați dori să culegeți informații despre încărcare înainte de a face ceva. urmăriți și profilați mai întâi aplicația dvs. web înainte de a decide ce optimizări să faceți.
Puncte:-1
drapel in

Ar trebui să puteți utiliza codul OPcache în php în sine pentru a vă asigura că nu compilați php cu fiecare vizitator accesat pe site-ul dvs. Vă rugăm să rețineți că acest lucru va necesita o alocare de memorie de sistem pentru a păstra php compilat în cache. Poate fi mult mai rapid dacă rata de lovituri este suficient de mare. Dacă aveți memorie pentru a face acest lucru, puteți chiar să configurați memoria cache a interogărilor MySQL pentru a păstra rezultatele interogărilor. Există totuși un compromis, cu câtă memorie necesită lucrurile și cu câtă memorie aveți. Schimbarea vă va distruge performanța. Performanța slabă va alunga traficul site-ului dvs.... este un act de echilibrare delicat.

Dacă utilizați pachetele php dintr-un depozit undeva, căutați modulul OPcache în php. Dacă îl compilați, asigurați-vă că activați OPcache în timpul compilării. Nu ar trebui să-i spuneți nimic lui nginx despre OPcache. Setați dimensiunea cache-ului în php.ini la nivel de sistem și sunteți gata de rock & roll!

drapel cn
Niciuna dintre ele nu răspunde cu adevărat la întrebare, dar haideți să atingem ceea ce ați spus. PHP OPCache nu are nevoie de memorie în sine, deoarece în versiunile recente introduce OPcache bazat pe fișiere. Cache-ul de interogări MySQL, dacă vă referiți la cel din serverul MySQL în sine, este depreciat în versiunile nu atât de recente ale MySQL, suficient să spunem că în 8.0 nu este disponibil deloc. În cele din urmă, cred că OP înseamnă să întrebi despre memoria cache a întregii pagini. și se face în NGINX (fastcgi cache) *sau* Varnish, etc.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.