Home » Articole » Articole » Calculatoare » Programare » PHP » Referințe de funcții care afectează comportamentul PHP: Cache utilizator APC

Referințe de funcții care afectează comportamentul PHP: Cache utilizator APC

postat în: PHP 0

APCu este un magazin cheie-valoare in-memory pentru PHP. Cheile sunt de tip șir și valorile pot fi orice variabile PHP. APCu acceptă doar stocarea în cache a variabilelor în zona utilizatorului.

Cache-ul APCu este per-proces pe Windows, așa că atunci când utilizați un SAPI bazat pe proces, acesta nu va fi partajat între diferite procese.

APCu este APC lipsit de cache opcode.

Prima bază de cod APCu a fost versiunea 4.0.0, bifurcată de la ramura master APC la acea vreme. Suportul PHP 7 este disponibil începând cu APCu 5.0.0. Suportul PHP 8 este disponibil începând cu APCu 5.1.19.

Instalare/Configurare

Cerințe

Nu sunt necesare biblioteci externe pentru a construi această extensie.

Instalare

Informații pentru instalarea acestei extensii PECL pot fi găsite în capitolul manualului intitulat Instalarea extensiilor PECL. Informații suplimentare, cum ar fi noile versiuni, descărcări, fișiere sursă, informații despre întreținător și un CHANGELOG, pot fi găsite aici: » https://pecl.php.net/package/apcu.

Sfat

PHP 7 are un modul separat (» apcu-bc) pentru compatibilitatea cu APC.

În modul de retrocompatibilitate, APCu înregistrează funcțiile APC aplicabile cu prototipuri retrocompatibile.

În cazul în care o funcție APC a acceptat cache_type, este pur și simplu ignorată de versiunea retrocompatibilă, și omisă din prototip pentru versiunea APCu.

Avertisment

Începând cu PHP 8.0.0, apcu-bc nu mai este suportat.

Notă: Pe Windows, APCu are nevoie de o cale temporară pentru a exista și să poată fi scrisă de serverul web. Verifică variabilele de mediu TMP, TEMP și USERPROFILE în această ordine și în cele din urmă încearcă directorul WINDOWS dacă niciuna dintre acestea nu este setată.

Notă: pentru detalii de implementare mai aprofundate și foarte tehnice, consultați » fișierul TECHNOTES furnizat de dezvoltator .

Sursele APCu pot fi găsite » aici.

Configurare runtime

Comportamentul acestor funcții este afectat de setările din php.ini.

Deși setările implicite APCu sunt bune pentru multe instalări, utilizatorii serioși ar trebui să ia în considerare reglarea următorilor parametri.

Există o decizie de luat la configurarea APCu. Câtă memorie va fi alocată APCu. Directiva ini care controlează acest lucru este
apc.shm_size
Citiți cu atenție secțiunile despre aceasta mai jos.

Odată ce serverul rulează, scriptul apc.php care este inclus cu extensia ar trebui copiat undeva în docroot și vizualizat cu un browser, deoarece oferă o analiză detaliată a funcționării interne a APCu. Dacă GD este activat în PHP, va afișa chiar și câteva grafice interesante.

Dacă APCu funcționează, numărul Cache full count (în stânga) va afișa numărul de ori în care memoria cache a atins capacitatea maximă și a fost nevoită să elimine intrările pentru a elibera memorie. În timpul evacuarii, dacă a fost specificat apc.ttl, APCu va încerca mai întâi să elimine intrările expirate, adică intrările al căror TTL fie a expirat, fie intrările care nu au TTL setat și nu au fost accesate în ultimele apc.ttl secunde. Dacă apc.ttl nu a fost setat sau dacă eliminarea intrărilor expirate nu a eliberat suficient spațiu, APCu va șterge întregul cache.

Numărul de evacuări ar trebui să fie minim într-un cache bine configurat. Dacă memoria cache este în mod constant umplută și, astfel, eliberată forțat, agitația rezultată va avea efecte negative asupra performanței scriptului. Cel mai simplu mod de a minimiza acest număr este să alocați mai multă memorie pentru APCu.

Când APCu este compilat cu suport mmap (Memory Mapping), acesta va folosi un singur segment de memorie, spre deosebire de când APCu este construit cu suport SHM (SysV Shared Memory) care utilizează mai multe segmente de memorie. MMAP nu are o limită maximă așa cum o face SHM în
/proc/sys/kernel/shmmax
. În general, suportul MMAP este recomandat deoarece va recupera mai repede memoria atunci când serverul web este repornit și, în general, reduce impactul alocării memoriei la pornire.

Sursa: PHP Manual, licența CC BY 3.0. Traducere și adaptare: Nicolae Sfetcu

Ghid WordPress pentru dezvoltatori
Ghid WordPress pentru dezvoltatori

Resursa esențială care te va ghida pas cu pas în lumea complexă a platformei WordPress.

Nu a fost votat 19.11 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.
Ghid WordPress pentru începători
Ghid WordPress pentru începători

Descoperă arta gestionării site-urilor web cu WordPress!

Nu a fost votat 14.32 lei26.24 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.
Proiectarea, dezvoltarea şi întreţinerea siturilor web
Proiectarea, dezvoltarea şi întreţinerea siturilor web

Ghidul complet pentru proiectarea, dezvoltarea și întreținerea siturilor web, o resursă indispensabilă

Nu a fost votat 14.32 lei57.32 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *