Magento este lent. Paginile o încărcare mai rapidă simplistă este format din două componente: „timpul de la primul octet trimis» (TTFB - timp pentru primul octet) și timpul de redare în browser.
Înainte de a trece la optimizarea interfeței, trebuie să încercați să îmbunătățiți indicatorul TTFB.
Optimizarea TTFB
Mai întâi de toate, trebuie să înțelegem că Magento este "înăuntru". Pentru aceasta folosim un instrument de încredere mare - Magento Profiler. Acesta va afișa lista de apeluri interne către Magento și durata corespunzătoare a activității.
Puteți, de asemenea, să introduceți apeluri în Profiler în codul dvs. pentru a măsura performanța și a identifica blocajele.
Cum se activează Magento Profiler
În panoul de administrare Magento, accesați System> Configuration> Advanced> Developer> Debug> Profiler și apoi treceți la "Yes".
Asigurați-vă că resetați memoria cache în Magento. pentru a accesa Profiler.
Cum să utilizați Profiler în codul dvs.
Trebuie să adăugați o linie Varien_Profiler :: start ( „lyuboe_imya“) și Varien_Profiler :: oprire ( „lyuboe_imya“) într-un bloc de cod pe care doriți să o utilizați Profiler.
Ce dă profilul
Code Profiler - identificator. pe care l-ați folosit în apelurile la Varien_Profiler :: start și Varien_Profiler :: stop
Timpul este timpul în secunde. care ia activitatea codului între Varien_Profiler :: start și Varien_Profiler :: stop
Cnt este numărul de rupturi pe care acest bloc de cod a fost rulat la momentul încărcării paginii
Emalloc - cantitatea de memorie alocată procesului PHP în timp ce această secțiune de cod rulează prin apelul sistemului emalloc
RealMem - cantitatea de memorie fizică alocată procesului PHP în timp ce această secțiune de cod este executată.
Dezactivați modulele inutile
Accesați pagina site-ului dvs. și vedeți ce arată Profiler. Mai întâi găsiți liniile cu cuvântul OBSERVER. Acestea sunt module de monitorizare, care, cel mai probabil, încep de fiecare dată când accesați o pagină. Unele dintre ele pot fi dezactivate. De exemplu, dacă nu utilizați recenzii sau setări pentru regulile de vânzări, puteți dezactiva modulele corespunzătoare Mage_Review și Mage_SalesRule.
Iată o listă aproximativă a extensiilor implicite Magento. care nu aveți nevoie de:
- Mage_Reviews
- Mage_SalesRule
- Mage_Wishlist
- Mage_Bundle
- Mage_Downloadable
- Mage_Paypal
- Mage_Log
De asemenea, este posibil să aveți extensii suplimentare pe care nu mai aveți nevoie, dar care să ruleze modulul de monitorizare front-end de fiecare dată când pagina se încarcă. Acest lucru încetinește site-ul dvs.
Optimizați codul în. fisiere tematice phtml
Codul PHP în fișiere tematice poate fi optimizat. Iată un exemplu:
Nu este nevoie să încărcați modelul din catalog / produs în fiecare buclă de foreach. deoarece produsul _product definește deja un model din catalog / produs. Dacă setul de bunuri este suficient de mare, puteți avea numeroase și multe apeluri inutile.
Acesta este doar un exemplu de modul în care codul php poate fi neoptimizat.
Actualizați Magento la cea mai recentă versiune
Echipa Magento lucrează în mod constant pentru a-și îmbunătăți produsul. Dacă aveți o versiune veche a Magento. efectuați actualizarea. Noile versiuni conțin modificări de cod în multe fișiere de kernel, care vizează îmbunătățirea logicii interne a Magento.
Optimizarea interfeței
Acum, să ne uităm la modul în care puteți accelera redarea într-un browser din lumea reală.
Inițial, viteza paginii Google arată 68/100.
Comprimarea și scurtarea fișierelor JS / CSS sunt disponibile ca extensii separate pentru Magento.
Furnizați imediat un CSS prioritar pentru conținutul vizibil
Aceasta înseamnă că avem prea mult conținut în partea din pagină care este vizibilă simultan pe ecran (ATF). Prin urmare, trebuie să determinați cel mai important CSS. care este necesar pentru a face acest conținut și pentru ao include în interiorul fișierului, restul de CSS ar trebui încărcat în mod asincron.După ce am făcut acest lucru, obținem următorul rezultat:
După cum puteți vedea, fila cu filtrul este deschisă în mod implicit, ceea ce duce la faptul că trebuie încărcat tot conținutul html asociat cu filtrul.Puteți să creați un marcaj cu un filtru invizibil în mod prestabilit, adăugând "afișare: niciuna" la suportul CSS-request @ corespunzător.
Acum avem o viteză de 100/100.
2. Alte pagini
Acum, că am făcut deja de lucru pe TTFB și leneș de încărcare JS și CSS, tot ce rămâne pentru noi să facem - este să treacă prin restul paginii și lucra la conținutul vizibil imediat (ATF).
Iată rezultatele obținute pentru cartea produsului, pagina cu coșul și pagina tipică a site-ului:
Evaluarea GooglePageSpeed a unei pagini de site tipice Scorați prin cartela de bunuri GooglePageSpeedPagina GGooglePageSpeed cu coșul
Astfel, am reușit să obținem estimări de viteză de 100/100 pentru aproape toate paginile site-ului.
În concluzie, observăm că munca de accelerare a site-ului poate fi complexă și monotonă, dar rezultatele vă vor fi plăcute. Paginile site-ului dvs. se vor încărca mult mai repede, chiar dacă nu există o memorie cache. Cache! = Performanță. Deci, în primul rând, trebuie să optimizați TTFB. pe care îl obțineți pe site-ul dvs. Magento, apoi optimizați afișarea interfeței.