Izredno počasen Magento
9 naročnikov
9 naročnikov
Pozdravljeni mojstri.
Magento shop sem napolnil z 25.000 artikli. Sedaj pa je Magento izredno počasen.
Selitev na drug, močnejši hosting ni pripomogla čisto nič.
Kaj se da narediti, da se Magento optimizira oz. pohitri.
Za nasvete in ideje sem že naprej hvaležen
LP
Blond
27 odgovorov
No ja, statične strani so kar dobre, ostalo pa še vedno ni to to. Sploh ne vemo kako bi se še lotili. Ker 10s load time ni ravno dobrodošel pri prodaji.
FPC ti pomaga samo pri statičnih straneh kot jaz razumem sistem ... vse kar je povezano z aventikacijo in cookiji seveda ne more uporabljati FPC in je v celoti odvisno od hardvara ... kje pa imaš najet VPS ? Kake so specifikacije VPS-ja in koliko plačuješ ?
Končno mi je uspelo urediti hitrost strani! Vzrok so bile napačne nastavitve za FPC. Očitno je nekdo pred mano pobrisal vse ostale dinamične bloke, ki jih ima Lesti_FPC vključene že v osnovi.
Torej, v System => Configuration => Advanced => System => Lesti FPC smo med Cachable actions imeli samo cmsindexindex, manjkali pa so še cmspageindex, catalogproductview, catalogcategoryview.
Hvala vsem za pomoč!
ps.: imamo magento gostovanje pri Si-shell.
Ugotavljam, da Lesti FPC deluje samo, če zaporedoma osvežujem strani. Če vmes obiščem drugo, se cache spet ponovno generira. (opazujem atribut Age v glavi HTTP zahtevka). Kot da obisk druge strani pobriše celoten cache. Je še kdo to opazil ali imam samo jaz to "srečo"?
Slabo konfiguriran FullPageCache je ponavadi še slabše. Lažje ti je ugotoviti kje je glavni problem, da npr. prvi page loada 10s.
Npr. pri eni stranki, home page products block je rabil 7s, zaradi slabe kode, cache id-ja in nevalidiranja cache tags. Ob popravku tega modula je load šel iz 10s na 3s.
Pri drugi stranki. Product page, vse slike so šle resize on the fly, torej izven "Magento" images cache sistema. Load strežnika in load product page iz xx sekund na 3-5s.
Optimizacije, ki jih večino omenjate prej so po "first byte" optimizacija. Ti pa imaš večji problem pri PHP/Magento response HTML first byte, kot pa "rendering" time. Pozna se oboje, a včasih je lažje server response izboljšat --- ker so browserji že precej optimizirani za speed, ko enkrat HTML pride (pre-renderer, disk cache, itd.).
Pazi, da pri optimizaciji ne narediš stvari tako, da boš imel potem pri "daily work" več problemov, kot ne. Cache refresh, cache invalidacija, timeouts pri cache, slow product save in podobno. Dodatno še kakšni upgradi (1.8 - page keyi), zakeširani blocki od "mini cart" ali "top cart", checkout problemi (cached ali 500 internal server error).
Delaj tiste stvari, ki naredijo največji učinek za najmanj dela in so najbolj preprosti. Včasih to pomeni vklop "memcache", optimizacija kakšnih modulov/kode/sql-a, .httacess, gzip, cookies less static domena (parallel downloading), merge JS/CSS pa si že zelo blizu.
Spreminjat MySQL, php nastavitve in podobno naj pride zadnje + imej dobro testno okolje, da boš lahko testiral ali določena sprememba res deluje ali je le tvoj filing + danes hitra povezava.
Na hitro napisano, ne me vlečt za jajca, če je kje kaka napača. Upam, da ti uspe.