După cum știți, PHP - limbaj de scripting, și anume, de fiecare dată când accesați script-ul, script-ul este compilat. Dacă aveți un script este nimic grav, deoarece timpul de compilare, nu este mare. Dar, în CMS astăzi și freymvorkah utilizate la afișarea paginilor 10-300 php-fișier individual (cu alte cuvinte, inkluda). Cu cât este mai inkluda și ceea ce ei sunt mai grele, cu atât mai mult procesul de compilare.
Pentru a rezolva această problemă veni pentru a păstra forma compilat de un scenariu în minte. Există module speciale pentru codul de stocare otkompilennogo în memorie. Acestea sunt numite acceleratoare.
Cele mai renumite: eAccelerator, APC, XCache. Fiecare are argumente pro și contra. Eu folosesc XCache ca cele mai rapide și mai fiabile. În timp ce toată lumea are propria opinie cu privire la fiabilitatea.
Unele Acceleratoare vă permit să stocați în memorie nu numai script-uri, ci și rezultatele calculelor. De exemplu, o probă din baza de date. În practică, acest lucru arata ca un cache de stocare în Memcache. Dar eu folosesc Memcache - atât punct de vedere istoric.
admin XCache
Avem un mic panou XCache admin pentru a afișa statistici și resetați memoria cache. De obicei, se află aici / usr / local / share / exemple / xcache / admin /. Deci, aveți nevoie pentru a face acest dosar undeva în site-ul rădăcină sau în panoul de administrare, astfel încât să puteți urmări din browser-ul dumneavoastră. admin poate descărca de aici.
Așa se pare că
Primul tabel prezintă totalul statisticilor. Acesta 2 linii, pentru că procesorul I 2-core și XCache distribuie cache pentru ambele nuclee. Tot ce am alocat 512M.
statistici xCache
înapoi la admin (a se vedea. imaginea de mai sus).
Sloturi - numărul de sloturi pentru cache. Acest lucru am înțeles cât de multe piese de memorie bate alocate. În cazul meu, este 8000. cât este mai mare valoarea, cu atât mai repede de căutare, dar necesită mai multă memorie.
Dimensiunea - dimensiunea memoriei pentru XCache
Disp - câtă memorie este lăsat. Dupa cum se poate vedea că nu am lăsat-o. Înghesuite toate 512 Mb
buton de resetare cache - Clear
Recunoscute - câte apeluri au fost efectuate la fișierele
Misses - câte apeluri a fost făcută fișierul, dar aceste fișiere nu a fost în memorie. Acesta este un proces normal. Fișiere schimbat - ele zboară din cache. Dar, în cazul meu, toate fișierele sunt pur și simplu nu se potrivesc în memorie, astfel încât acestea nu sunt acolo, și, în consecință, sunt eșecuri.
Saboți - Înțeleg cât de multe ori am cerut pentru unele fișiere în memoria cache, dar în acest moment aceste fișiere sunt încă compilate, și anume A fost un sistem de blocare.
Ooms - de câte ori fișierele nu au fost incluse în cache-ul din cauza lipsei de memorie.
În cache - numărul de fișiere din cache. Tot ce am de 6400 fișiere.
setări xCache
Ceea ce nu a uita. Să presupunem că modificați un cod pe un proiect mare. spațiu de memorie eliberat, iar acest spațiu gol poate fi scris pentru proiecte fișiere nizkoposeschaemyh. Prin urmare, o mare de fișiere de proiect nu se încadrează în cache. Pur și simplu pune, XCache nu este în măsură să țină evidența care fișiere pot fi aruncate afară din cache-ul, și a pus în locul lor mai frecvent accesate fișiere (acest lucru este așa-numita „fierbinte“ cache). Prin urmare, este necesar să resetați manual cache-ul prin panoul de administrare.
Tabelul de mai jos arată care fișierele sunt memorate în cache și cât de eficient.
Recunoscute - Numărul de accesări acest script în memorie. Cu cât mai mult - cu atât mai bine. În cazul în care pentru unele fișiere pentru o lungă perioadă de timp, este mai mic de 10, aceasta înseamnă că fișierul este rar folosit, și are loc numai în memorie.
Size - dimensiunea fișierului în memorie. Aici cele mai interesante. Se pare că fișierul compilat este în memoria de spațiu de 10 ori mai mult decât pe disc. OMG!
dimensiunea fișierului pe disc - SrcSize
Access - Cât timp au accesat acest fișier
Creați - cât timp fișierul este în cache
config meu
xcache.size = 512M
xcache.count = 2
xcache.slots = 8K
xcache.ttl = 0
xcache.gc_interval = 0
xcache.var_size = 0M
xcache.var_count = 2
xcache.var_slots = 8K
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.test = Oprit
xcache.cacher = On
xcache.stat = On
După cum puteți vedea, am dezactivat utilizarea XCache ca cache rezultatele calculelor (xcache.var_size = 0 M). În acest scop, am Memcache.
Ei bine, de fapt, rezultă: accelerarea de 2-3. Dacă înainte de pagina a fost generata de 0,3 secunde (Memcache pe bază), acum 0.1 secunde. Acesta este un exemplu de proiect de pe CMS LiveStreet.