De ce n-ai nevoie de memory limit mare

simplenet-oameni De ce n-ai nevoie de memory limit mare

Un potențial client care deținea un blog mic ne-a întrebat de ce nu oferim php_memory_limit mare (1024 MB) față de 256 MB, cât este setarea default pe serverele Simplenet.

Dacă ai o aplicație PHP mai complexă (un magazin online, de ex) atunci un memory limit mai mare are sens, combinat și cu un max_execution_time mai mare.

Dar hai s-o luăm cu începutul, poate nu toată lumea știe „chineză”.

Ce este memory_limit?

memory_limit este o directivă de configurare care stabilește mărimea maximă a memoriei pe care un script PHP o poate aloca. Limita este folosită ca să se evite situațiile când un script prost scris consumă toată memoria disponibilă pe server.

Ce este max_execution_time?

max_execution_time este o altă directivă care stabilește timpul maxim în secunde pentru care poate rula un script PHP. Limita asta previne ca un script prost scris să ruleze la infinit și să blocheze serverul.

Bun, deci limitele astea sunt folosite cu un scop. Pot fi mai mici sau mai mari în funcție de firma de hosting.

La majoritatea firmelor de hosting limita e setată la 256 MB. Pentru WordPress este o valoare mai mult decât suficientă. Alte firme de hosting, dacă sunt axate pe magazine online (Magento) pot avea setate și valori mai mari.

O instanță WordPress obișnuită n-ar trebui să consume mai mult de 40 MB, iar dacă folosești WooCommerce 64 MB.

Dacă blogul sau site-ul tău de prezentare are nevoie de peste 256 MB înseamnă că ai o problemă mare de performanță.

Iar soluția nu este să pui un memory limit mare ca să acoperi erorile. Soluția corectă este un audit de performanță pentru a identifica și a rezolva problema.

Dar totuși, nu e mai bine să fie mai mare decât mai mic?

Dacă nu ai probleme de performanță, valoarea setată pentru memory limit e complet irelevantă.

Să presupunem că nu ai nicio problemă de performanță și instanța ta WordPress consumă, hai să zicem, 32 MB.

În acest caz, site-ul tău se va încărca exact la fel de repede chiar dacă valoarea memory limit este 64 MB sau 1024 MB.

Iar dacă mâine îți crește traficul de 100 de ori, instanța ta WordPress nu va avea nevoie de 100 de ori mai multă memorie ca să ruleze. Creșterea consumului de memorie va fi destul de mică. Memoria consumată de WordPress ca să ruleze nu crește odată cu traficul. Ea crește odată cu scripturile PHP care trebuie să ruleze la inițializarea WordPress. De exemplu, cu cât ai mai multe plugin-uri instalate sau o temă cu foarte multe opțiuni.

Când te ajută memory limit?

Singurul caz în care o valoare mai mare te ajută este dacă ai un script PHP cu probleme (un plugin făcut prost sau cod prost scris în temă) și există un memory leak.

Adică instanța ta de WordPress consumă foarte multă memorie ca să ruleze. Iar un memory limit setat la o valoare mai mare te ajută să nu-ți apară erori.

Ăsta e singurul scenariu unde este de folos un memory limit mai mare.

Cu toate acestea, mărirea limitei înseamnă de fapt să ascunzi mizeria sub covor.

Noi, la Simplenet, preferăm să oferim soluții, să facem audituri de performanță ca să identificăm problemele și să le rezolvăm, nu le ascundem sub preș.

De aceea nu oferim memory limit mai mare de 256 MB, o valoare suficientă pentru orice site WordPress făcut cu simț de răspundere.


Comments

Lasă un răspuns

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