Magento este o platformă de e-commerce uimitor de puternică. În această miniserie, vom învăța cum să începem cu platforma, să cunoaștem terminologiile, să stabilim un magazin și toate aspectele legate de acesta și, în sfârșit, să învățăm cum să-l personalizăm pentru a-l face foarte proprie.
În această ultimă parte, vom aborda una dintre cele mai mari plângeri pe care le au oamenii cu Magento: performanța sa. Vom examina o serie de metode diferite pe care le puteți aplica pentru a spori semnificativ platforma. Excitat? Să începem!
În ultimele câteva părți am analizat modul în care sunt puse temele Magento, componentele care o conduc și cum funcționează totul pentru a crea o temă de lucru împreună cu o privire sumară asupra unui număr de metode API pe care Magento le expune. De asemenea, am luat o privire concentrată, pas cu pas asupra a ceea ce este magazinul Magento multi, cum vă poate ajuta și în sfârșit cum să setați totul.
Performanța Magento este o zonă despre care utilizatorii se plâng în mod consecvent. Nu este o mare parte din ea este adevărată, dar există o multitudine de modalități diferite de îmbunătățire a performanței, desigur. Astăzi, vom examina modalitățile de îmbunătățire drastică a performanței instalării Magento. Știu că sună interesant și că ești mâncărime pentru a începe.
Notă rapidă înainte de a începe, totuși. Majoritatea optimizărilor și / sau optimizărilor menționate aici vor fi doar cele: menționează. Probabil că ar trebui să faceți parte din Google pentru implementare, deoarece implementarea însăși va necesita un tutorial de dimensiuni rezonabile în sine. Cu asta din drum, să începem!
Acesta este cel mai important aspect al instalării Magento. Magento poate fi rulat pe o gazdă comună, dar aveți grijă, performanța nu va fi optimă. Magento necesită într-adevăr mai multă putere decât o rulare a gazdei comune pe care o poate oferi și va fi adevărată atunci când o faceți să ruleze pe una.
Un VPS sau un server dedicat este cel mai ideal când vine vorba de Magento. Și nu uitați să nu schimbați memoria, deoarece veți avea nevoie de ea. Mult.
Lăsând Magento cache unele părți ale codului său de bază este unul dintre puținele lucruri pe care ar trebui să faceți atunci când începe să optimizeze o instalare. Nu trebuie să activați cache-ul pentru toate, dar aș sugera layout-uri și bloca ieșirea HTML ca fiind esențiale. Cu această activare activată, în funcție de dimensiunea site-ului, vă puteți aștepta ca timpul de încărcare să fie redus drastic.
Rețineți că va trebui să dezactivați cache-ul în timpul dezvoltării. Dacă faceți modificări în codul dvs. și nu reflectă în partea frontală, caching-ul este vinovatul. Un astfel de punct evident, dar a fost cauza atâtor părul trăgând în timpul dezvoltării.
Odată ce ați activat cache-ul, puteți acum să faceți un pas mai departe. Magento cache informații folosind un sistem de stocare bazat pe fișiere. În timp ce acesta este cel mai fiabil mod, există adesea momente când doriți o viteză simplă. În aceste cazuri, ar trebui să căutați implementarea unui sistem de memorare bazat pe memorie.
Există o serie de opțiuni disponibile și oamenii au avut un mare succes cu ei. eAccelerator este instrumentul meu de alegere în aceste zile. Nu uitați să o configurați cu o memorie suficientă sau poate că trebuie să eliminați datele în momentele cele mai inoportune.
Dacă vă aflați pe un VPS sau pe un server dedicat, examinați dezactivarea extensiilor PHP non-esențiale. Magento are nevoie doar de o mână ca PDO_MySQL, deci nu ezitați să le dezactivați pe cele străine.
În plus, există 2 modificări care vor duce la o performanță mai bună.
În mod implicit, PHP este configurat să utilizeze o cantitate absurdă de memorie. Va trebui să măriți acest lucru. Puteți face acest lucru adăugând următoarea linie în fișierul de configurare:
php_value memory_limit 512M
Al doilea este prin tweaking realpath_cache valoare pentru așa ceva.
realpath_cache_size = 1M realpath_cache_ttl = 86400
Acesta este mai mult un subiect general decât unul specific Magento, așa că voi fi scurt aici. Există un număr de module Apache pe care va trebui să le activați și / sau să le configurați pentru a îmbunătăți performanța magazinului dvs..
Primul este mod_deflate. Acest lucru permite ca ieșirea de pe server să fie comprimată drastic, ducând astfel la o performanță mai bună. Cu siguranta un modul care trebuie activat.
În al doilea rând, căutați mod_expires. Acest modul permite browser-ului să cacheze resurse specifice pentru o anumită perioadă de timp, astfel încât vizitatorii care se întorc vor avea o experiență mai captivantă.
Și, în sfârșit, keepalive. Acest lucru permite conexiuni persistente prin crearea de sesiuni de lungă durată, permițând ca mai multe cereri să fie direcționate prin aceeași conexiune TCP. Acest lucru vă ajută atunci când aveți o serie de active mici în pagina dvs..
Amintiți-vă să vă reconstruiți periodic indiciile pentru mese prin spate. Acesta este un punct esențial care va duce la o creștere notabilă a performanței în magazinul dvs..
Rețineți că refacerea indicilor este o afacere foarte scumpă, resursă înțeleaptă și trebuie făcută în timpul orelor libere. A face acest lucru în timpul unei activități moderate chiar și în magazinul dvs. va degrada în mod semnificativ performanța și capacitatea de reacție a magazinului.
Interpretul PHP trebuie să citească fiecare fișier de pe disc și să îl compileze la fiecare solicitare, ceea ce este extrem de foame pentru CPU dacă luați în considerare dimensiunea pură a Magento. În acest caz, este recomandat un accelerator PHP cum ar fi APC sau eAccelerator.
Uneltele ca acestea cresc semnificativ performanța codului dvs. PHP prin memorarea codului dvs. în codul octet intermediar și este servit în loc de a cere interpretului să îl compileze de fiecare dată.
Aceasta este o prelungire a punctului menționat mai sus. Magento stochează o mulțime de informații [nu doar DB] în hard disk-ul serverului, care, după cum știți, este cea mai lentă legătură din lanț. Aceasta include cache-uri, informații despre sesiuni și așa mai departe. Dacă doriți să îmbunătățiți performanța în această zonă, cel mai bun mod de a avansa este implementarea unui sistem de fișiere bazat pe memorie pentru a vă asigura că toate datele sunt stocate în memorie în loc de apeluri costisitoare pe hard disk.
Din moment ce nu avem spațiul aici, vă îndrept în direcția cea bună. Ceea ce trebuie să faceți este să configurați o partiție tmpfs care să aibă grijă de sesiunile dvs. și de directoarele cache. Acestea pot fi găsite în secțiunea /var/www/domain.com/var/sessions/ și /var/www/domain.com/var/cache/ respectiv.
Modulul de catalog plat pentru capătul frontal creează tabele de baze de date suplimentare pentru stocarea datelor într-un format plat / linear. Acest modul este disponibil atât pentru datele de categorie, cât și pentru produse, deci nu ezitați să îl activați în mod independent, așa cum este necesar în cazul dvs. de utilizare.
Activarea acestui modul este recomandată doar pentru magazinele mari. Magazinele cu un catalog mic ar trebui să rămână în siguranță, deoarece acest lucru nu poate oferi suficientă creștere a performanței pentru a garanta utilizarea și poate scădea de fapt performanța. Luați o decizie atent analizată aici.
Partea din spate a Magento este mult mai intensă decât cea din față, deoarece trebuie să se ocupe de mai multe informații. Și odată ce magazinul dvs. a atins un anumit prag cu privire la numărul de produse, să zicem, 5000, începe cu adevărat să impoziteze serverul.
Având un server de administrare dedicat poate ajuta panoul de administrare să obțină ciclurile procesorului de care are nevoie, afectând negativ performanța restului site-ului.
Tema implicită Magento este un loc minunat pentru a începe, dar nu este cu adevărat cel mai eficient. Lasă-mă să-mi explic. Tema prestabilită este concepută pentru a expune toate caracteristicile Magento și, astfel, în mod natural, bundles fiecare caracteristică bang bang. Amintiți-vă că Magento construiește o pagină prin parsarea layout-ului specificat și astfel timpul de generare a paginii este direct legat de numărul de blocuri pe care le utilizați într-o pagină.
Deci, atunci când construiți propria temă, evitați machete inutile complexe, simplificați și / sau combinați blocurile mai mici pentru a reduce ciclurile CPU necesare pentru a face codul paginii.
Magento dispune de un sistem elegant care să includă / exclude în mod programatic foile de stil și fișierele JavaScript în cadrul temelor. O mulțime de autori temă par să înlăture complet acest sistem prin includerea manuală a acestor elemente în template-ul HTML. Este gresit.
Modul corect de a include aceste active este prezentat mai jos:
Folosind codul de mai sus în fișierele de aspect, Magento combină fișierele JS într-un singur fișier și le difuzează browser-ului într-o singură cerere.
Regulile de optimizare a site-urilor sau aplicațiilor normale se aplică și aici. Navigatorii limitează, de obicei, numărul de descărcări dintr-un domeniu la 2-5, ceea ce este foarte limitat atunci când încărcați o temă bogată în materiale media cu un număr de active mici. Există o serie de căi ușoare din acest
Primul și cel mai simplu este ceva cu care sunteți cu toții familiarizați: sprites. Folosind sprite, puteți minimiza numărul de cereri concurente generate de tema dvs..
Această abordare poate să nu funcționeze în toate cazurile. Ce se întâmplă dacă tema dvs. are o grămadă de scripturi, videoclipuri și ce nu? Acestea nu trebuie să blocheze încărcarea restului paginii. În aceste cazuri, creați doar un subdomeniu pentru active statice și indicați instalarea dvs. Magento la resursă.
Logarea este esențială, dar este și costisitoare, deoarece va trebui să scrie pe disc. Magento, în general, este foarte vorbind atunci când vine vorba de logare și în curând veți fi genunchi adânc în fișierele de jurnal de cele mai multe dintre care nu veți avea nevoie.
Soluția aici este de a dezactiva toate părțile esențiale. Ați activat interogările lent pentru a fi înregistrat pe serverul dvs. de producție? Opriți-l, chiar acum! Solicitările lente trebuie să fie investigate și rezolvate cu mult înainte de desfășurare. Are loc într-un server de dezvoltare, nu într-un server de producție.
Acesta este un alt sfat esențial pe care o mulțime de oameni continuă să uite. Fie că este versiunea PHP, mySQL sau Magento în sine, versiunile mai noi aduc viteză și stabilitate substanțiale, pe care nu le puteți permite să le pierdeți.
În special în cazul Magento, chiar și fiecare actualizare mini fixează o serie de probleme de performanță și corecții de erori atât timp cât ramura este etichetă stabilă, upgrade!
Magento are un modul de compilatoare spiffy care promite oriunde între o accelerare de 25% -50%. După cum sugerează și numele, acest modul compilează toate fișierele Magento și conduce astfel la o performanță mai bună.
Rețineți că acest modul este în continuare în versiune beta și suportă doar versiuni 1.3x. Acest lucru ar trebui să fie în curând pregătit pentru a păstra acest punct în minte, de asemenea.
Fooman Speedster este o extensie puternică care poate oferi magazinului dvs. un impresionant performanță. Funcționează prin combinarea, minificarea, comprimarea și stocarea în cache a fișierelor JavaScript și CSS. În plus, permite compresia GZIP pentru restul magazinului.
În ansamblu, înseamnă că sunt transmise mai puține date și mai puține cereri care reprezintă o victorie netă în orice fel îl vedeți. Acesta funcționează cu toată versiunea majoră a Magento și este cu siguranță o necesitate pentru orice magazin.
Un alt lucru pe care ar trebui să-l faceți periodic pentru a îmbunătăți performanța. Va trebui să vă reparați baza de date dacă este necesar și apoi să o optimizați. Puteți face acest lucru prin gazdele dvs. CPanel, phpMyAdmin sau doar comenzi pentru shell. Iată o legătură rapidă care vă permite să vă deplasați prin procesul folosind phpMyAdmin.
Și am terminat! Astăzi, am aruncat o privire asupra mai multor modalități de îmbunătățire a performanței Magento. Sperăm că acest lucru a fost util pentru dvs. și l-ați găsit interesant. Sunt sigur că am pierdut un număr de puncte aici, astfel încât vă rugăm să nu ezitați să faceți clic pe comentariile cu sfaturile pe care le-ați utilizat.
Întrebări? Ce lucruri frumoase de spus? Critici? Activați secțiunea de comentarii și lasă-mă un comentariu. Codificare fericită!