5 sfaturi esențiale pentru a vă îmbunătăți TTFB Magento
Publicat: 2019-01-08Aceasta este o postare invitată de Vasili Nikolaev.
Time to first byte (TTFB) este una dintre cele mai importante valori de viteză a unui site web. Indică cât timp va trece după ce un utilizator introduce adresa URL a magazinului dvs. Magento și timpul în care primește orice răspuns, chiar și de 1 octet (de unde și numele, „time to first byte”).
Timpul până la primul octet este vital atât pentru oameni (nu le place să aștepte), cât și pentru roboții motoarelor de căutare (Google urăște site-urile web lente și le clasifică mai jos - faceți clic aici pentru a afla mai multe despre soluția SEO Magento 2 de primă clasă prin MageWorx).
Dar, în același timp, există dovezi convingătoare de la John Mueller, unul dintre șefii vorbitori ai Google, că Google nu folosește TTFB pentru clasamente:
Așadar, sfatul nostru este să nu obsedați prea mult TTFB pentru SEO, ci, în schimb, să vă concentrați pe experiența utilizatorului și pe performanța magazinului.
De ce TTFB este mai important decât încărcarea completă a paginii (numită „timpul până la ultimul octet”)? Ei bine, pentru că cu cât încărcați mai devreme primul octet, cu atât mai repede utilizatorii vor începe să vă citească conținutul. Nu contează că nu pot vedea fiecare imagine de pe pagină instantaneu. Este mai important să oferiți utilizatorilor ceva de făcut în timp ce serverul dvs. web este ocupat să încarce restul conținutului.
Cuprins
- 1. Înțelege-ți blocajele pentru a le elimina
- Ce este un TTFB bun?
- 2. Migrați la un motor de bază de date mai potrivit
- 3. Potriviți configurarea serverului cu nevoile dvs. curente de trafic
- 4. Configurați o soluție mai bună de stocare în cache
- 5. Scapa de extensiile inutile
- Sfat bonus: Modificați setările pentru magazin și înregistrarea clienților
- O bătălie constantă pentru performanță
1. Înțelege-ți blocajele pentru a le elimina
Ce este un TTFB bun?
Google afirmă că un TTFB sub 200 ms este scopul. Sub 200 ms motorul de căutare vă va clasa cel mai bine. Odată ce depășiți această valoare, Google va aplica penalități site-ului dvs. 600 ms sau mai mult înseamnă că nici măcar nu poți trece testul TTFB al Google.
Există o mulțime de factori care vă vor afecta TTFB. În nicio ordine anume:
- configurația și resursele serverului web,
- viteza de rezolvare a serverului de nume,
- timpii de execuție a codului pe pagină,
- soluții de cache backend implementate,
- conjectura rețelei.
Verificați valoarea TTFB fie cu un serviciu terță parte, fie folosind testul TTFB Google. De asemenea, puteți compara rezultatele dvs. cu site-uri web populare sau cu concurența dvs. aici pentru a obține o perspectivă unică asupra modului în care magazinul dvs. se încarcă pentru utilizatorii de telefonie mobilă.
Un alt instrument excelent de diagnosticare este Magento 2 Profiler . Cu acesta, puteți împărți cu ușurință fiecare solicitare de pagină în blocuri mai mici, care sunt rapid de vizualizat și analizat.
În tabel, acordați o atenție deosebită celor 2 valori importante, Time și Count. Timpul se explică de la sine. Este întârzierea reală dintre cererea utilizatorului și răspunsul serverului. Rândul Cnt corespunde de câte ori a fost apelat acest element înainte de a crea rezultatul.
Merită să utilizați Database Profiler împreună cu Magento 2 profiler implicit pentru a analiza interogările bazei de date.
Acesta este primul pas pe care trebuie să-l faceți: activați Magento Profiler și priviți paginile care au cele mai mari probleme cu TTFB. Deși puteți utiliza profiler implicit, vă recomandăm să configurați Profiler SQL. Este gratuit și oferă o imagine de ansamblu convenabilă a numărului de interogări pe sesiune.
Profiler va tăia toate cererile în părți mai mici, astfel încât să puteți vedea imediat ce secțiuni vă trage în jos.
2. Migrați la un motor de bază de date mai potrivit
Baza de date a magazinului Magento 2 poate deveni cu ușurință cel mai mare blocaj de performanță dacă este ineficientă, lentă sau folosește un motor de stocare care nu este cea mai bună alegere pentru gestionarea Magento.
De ce este acest lucru important? Există o gamă largă de diferite motoare de stocare pentru MySQL. Am numărat cel puțin 10 soluții acceptate în documentația oficială MySQL și există și mai multe în sălbăticie.
În timp ce puteți utiliza Magento cu motorul MyISAM MySQL implicit, motoarele de baze de date alternative, cum ar fi MariaDB Ari un motor de stocare sau motorul Percona XtraDB, vă pot face magazinul mai stabil și (uneori) mai rapid în comparație cu configurarea implicită.
De exemplu, motorul Aria folosește o abordare mai inteligentă în cazurile în care Magento forțează motorul de stocare să folosească o mulțime de tabele temporare.
Percona este un alt furk al MySQL care a integrat de-a lungul timpului o serie de modificări de performanță pentru a accelera interogările bazei de date. În comparație cu MyISAM , funcționează mult mai rapid cu o mulțime de interogări paralele și este specializat în procesarea tranzacțiilor.
Chiar dacă cea mai bună recomandare pentru optimizarea bazei de date ar fi să vă examinați cu atenție nevoile și să alegeți motorul care vi se potrivește cel mai bine, avem câteva sfaturi care vor fi utile tuturor:
- evitați MySQL implicit pentru căutarea în magazin. Instalați Elasticsearch pentru a accelera toate interogările de căutare de pe site-ul dvs. web,
- selectați motorul de bază de date care funcționează cel mai bine pentru dvs.
3. Potriviți configurarea serverului cu nevoile dvs. curente de trafic
Reducerea infrastructurii nu este o idee bună. De-a lungul timpului, o afacere în creștere constantă va vedea mai mulți clienți, mai multe tranzacții și mai multe comenzi. Prin urmare, este sănătos să vă mențineți configurația la capacitatea de 80% pentru a vă adapta la vârfurile de utilizare aleatoare și traficul pietonal generat de evenimente. Acele 20 % pot face un drum lung pentru a menține un nivel decent de performanță în toate situațiile.
O echipă de găzduire care merită să vă spună ce cerințe de sistem aveți nevoie pentru a funcționa fără probleme. Dar dacă ai crescut rapid într-o perioadă de timp, devine responsabilitatea ta să schițezi o foaie de parcurs pentru a face upgrade.
Există o serie de puncte critice în magazinul dvs. Magento care vă vor influența puternic cerințele de sistem:
- dimensiunea magazinului (numărul de vizualizări ale magazinului),
- categorii și SKU-uri din catalog (cu atribute și seturi de atribute),
- cifrele medii de trafic (medie de vizualizări ale paginilor și vârfuri istorice),
- tranzacții pe zi (descărcări digitale, plăți și operațiuni similare).
În general, traficul dvs. mediu va influența direct de câtă putere CPU aveți nevoie. Deci, după ce aflați configurația optimă a procesorului, potriviți memoria RAM la cerințele CPU pentru a crea un profil echilibrat de server web.
Dimensiunea de stocare a bazei de date depinde de memoria RAM curentă, așa că ar trebui să obțineți suficient pentru a acoperi toate nevoile curente. Creați o pernă de performanță pentru un spațiu de respirație. Scopul tău este să păstrezi întotdeauna cel puțin 20-25% din CPU și RAM de rezervă pentru a face față creșterilor ocazionale de trafic.
4. Configurați o soluție mai bună de stocare în cache
Memorarea în cache a site-ului web este următorul cel mai bun lucru după inventarea cartofii prăjiți. Cache-ul serverului îmbunătățește vizibilitatea site-ului, făcându-l să se simtă mult mai rapid. Memorarea în cache funcționează prin mutarea datelor utilizate frecvent de pe SSD sau un hard disk în RAM.
Acolo unde HDD-urile pot citi secvenţial date de până la 200 MB/sec şi SSD-urile de până la 3200, modulele DRAM pot ajunge până la 20 GB/s. Ceea ce ne oferă diferența de x10 sau cel puțin un ordin de mărime.
Atât Redis , cât și Varnish sunt una dintre cele mai populare upgrade-uri pentru magazinele Magento. Este o opțiune de stocare în cache recomandată pentru Magento 2. Ambele soluții funcționează excelent și cu Magento 1.
Lacul este un instrument dificil de configurat, dar atunci când este făcut corect, oferă valori TTFB în 100-200 ms. Pentru configurațiile cache de pagină completă, TTFB va fi în interval de 250 ms.
Un alt avantaj distinct al Varnish - funcționează pe mai multe pagini web. În timp ce FPC nu funcționează pentru paginile cu mult conținut dinamic, Varnish oferă performanțe mai bune chiar și pentru aceste cazuri de utilizare dificile.
5. Scapa de extensiile inutile
Pentru a fi sincer, dezactivarea extensiilor neutilizate este sfatul #1 pentru orice magazin Magento 2, dar este adesea trecut cu vederea. Fiecare extensie care rulează pe site-ul dvs. web va folosi o parte din resursele dvs. Dacă sunt configurate prost, ar putea încetini și TTFB.
Rețineți: serverul trebuie să execute acest cod înainte de a trimite orice feedback utilizatorului.
Curățarea listei de extensii va accelera și Magento. Chiar dacă nu le puteți dezactiva pe niciuna dintre ele, păstrați atât magazinul Magento, cât și extensiile de la terțe părți la zi pentru a beneficia de remedieri de erori și optimizări care cu siguranță vor îmbunătăți performanța site-ului .
Sfat bonus: Modificați setările pentru magazin și înregistrarea clienților
Asigurați-vă că dezactivați înregistrarea clienților Magento. Acest lucru vă va ajuta să reduceți timpul petrecut cu interogările bazei de date. Nu este un impact uriaș, deoarece înregistrarea clienților este o activitate relativ minoră. Creșterea performanței va depinde de numărul de clienți care vă vizitează în prezent magazinul.
Nu vă recomandăm să dezactivați înregistrarea în magazin. Este un instrument valoros care ajută la depanarea Magento. Dar, în loc să lăsați jurnalele din magazin să ocupe timp server, le puteți muta la un serviciu terță parte, cum ar fi Papertrail.
O bătălie constantă pentru performanță
Nu există două magazine Magento la fel. Fiecare dintre ei se va confrunta cu diferite provocări în optimizarea vitrinelor pentru viteză. Acest lucru poate fi valabil mai ales pentru site-urile Magento mai vechi (și mai mari) care au o mulțime de extensii complexe de la terți, baze de date mari și mai multe magazine.
Și, deși nu putem „câștiga” niciodată această bătălie pentru performanță, obiectivul nostru comun este să facem magazinele Magento cele mai bune din categoria în ceea ce privește viteza, experiența utilizatorului și securitatea dintre toate site-urile de comerț electronic.
Vasili Nikolaev se află într-o permanentă căutare de comori pentru a descoperi cele mai eficiente sfaturi pentru a ușura puțin viața proprietarilor de magazine. Nu există nimic mai satisfăcător decât să găsești o soluție excelentă la o problemă provocatoare pentru el.