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

WordPress este o platformă pentru site-uri web rapidă, fiabilă, cu facilități multiple pentru dezvoltatori și ușor de utilizat. Totusi, dezvoltatorii și beneficiarii au de multe ori nevoie să adauge funcționalități suplimentare pentru a răspunde nevoilor lor. Acest ghid oferă unele … Citeşte mai mult

Nu a fost votat $3.99 Selectează opțiunile
Ghid WordPress pentru începători
Ghid WordPress pentru începători

WordPress combină simplitatea pentru utilizatorii şi editori cu complexitate suportului software pentru dezvoltatori. Acest lucru îl face mai flexibil, fiind în acelaşi timp uşor de utilizat. Simplitatea sa face posibilă instalarea şi publicarea online rapid. Nimic nu ar trebui să … Citeşte mai mult

Nu a fost votat $2.99$4.77 Selectează opțiunile
Proiectarea, dezvoltarea şi întreţinerea siturilor web
Proiectarea, dezvoltarea şi întreţinerea siturilor web

Un ghid pentru dezvoltatorii web, cu accent pe HTML, XML, JavaScript, SQL, tehnologii web, software web, software pentru dezvoltare web, aplicaţii web, şabloane pentru aplicaţii web, AJAX, servicii web, sindicalizarea web, web design, situri web, găzduirea web, analiza siturilor web, … Citeşte mai mult

Nu a fost votat $2.99$11.97 Selectează opțiunile

Lasă un răspuns

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