Optimizimi i bootimit të OPCache PHP

Për faqet e internetit që janë të bazuara në WordPress , Joomla ose Laravel , për shembull, dhe nuk kanë përmbajtje specifike për përdoruesit, këshillohet të mbani të gjitha faqet në një memorie statike HTML dhe vetëm të rigjeneroni memorien manualisht (ose automatikisht) kur bëhen ndryshime në pjesën e prapme. Sidoqoftë, nëse faqja përmban përmbajtje dinamike që varet nga seancat dhe cookies ose gjithashtu nga gjuha dhe vendndodhja, OPcache është i përshtatshëm .


E ashtuquajtura koha e nisjes për të tre sistemet e përmendura është mbi 100 ms me një server të sapo instaluar CentOS7 (me SSD dhe PHP 7.1). Sa herë që një skenar PHP ekzekutohet, ai duhet të përpilohet në bytecode gjatë kohës së ekzekutimit. OPcache tani zbaton një memorie të fshehtë për këtë bytecode - nëse skenari i njëjtë PHP ekzekutohet me kërkesën tjetër, nuk ka pse të rikompilohet. Pas aktivizimit të OPcache, vendosim cilësimet e mëposhtme:

9006cec6c5d3d2498ee26c5bfd91590a

Koha e ekzekutimit (mesatarisht mbi 10 ekzekutime) tani është ulur ndjeshëm:

WordPress 4.7.4 Joomla 3.7 Laravel 5.4
pa OPCache 295 ms 201 ms 110 ms
me OPCache 54 ms 59 ms 13 ms
Faktori 5,5 3,5 8,5

Meqenëse vendosim vulat e vlefshme në 0 dhe në të njëjtën kohë rivlerësojmë_freq në një kohëzgjatje prej një dite, memoria e fshehtë nuk rindërtohet kurrë automatikisht (me vetëdije e bëjmë këtë manualisht). Me një goditje të vogël git , një skenar PHP ekzekutohet me çdo "tërheqje". Si të aktivizoni grepin:

a1678610c8b4c7db5997375944183830

a1678610c8b4c7db5997375944183830

Funksioni i mëposhtëm ndihmës është gjithashtu i dobishëm për të matur pjesët individuale të kodit (ose tërë kohën e ekzekutimit):

085f4291bbcc4e8a64bbea951ff49ab9

Nëse dëshironi të merrni informacione të dobishme si statusi, memoria e përdorur ose numri i skedarëve të memorizuar, ju përdorni këtë funksion PHP:

3f6309d04bc7e48dd909859321b96209

Për të përfituar nga OPcache në një mjedis zhvillimi lokal (i cili zakonisht nuk rekomandohet), ne përdorim një hile.

OPcache është aktiv në të gjithë serverat që kanë të instaluar modulin OPcache dhe në të cilin nuk është vendosur në mënyrë të qartë cilësimi i opcache.enable. Ne e lëmë në atë mënyrë. Ne vendosim vetëm opcache.validate_timestamps = 1 në php.ini. Kjo do të thotë që opcache.revalidate_freq = 2. Kjo do të thotë që OPcache rivlerësohet pothuajse vazhdimisht për çdo projekt. Për ato projekte në të cilat ne duam të aktivizojmë OPcache përgjithmonë, ne përdorim lidhur me projekte në .htaccess vendosjen e mëposhtme:

1dd64a3f2fe4425b29b1409410fe3fc0

Pastaj rifillojmë serverin në internet dhe krijojmë skenarin vijues:

91fb5289160e410607c9ea89112a575b

Ky skenar pastron memorien e përkohshme dhe e rindërton atë në të njëjtën kohë. Tani vendosim një komandë RunOnSave në lidhje me hapësirën e punës në redaktorin tonë të preferuar VSCode:

91fb5289160e410607c9ea89112a575b

Mbrapa