Jump to content

zvlastni chovani apc caching


peal

Recommended Posts

Zdravim,

uz delsi dobu patram, jake je vlastne normalni chovani APC cachovani pro prestashop. Docela rozumim tomu, co to dela a jak funguje, ale uz mi neni jasne jestli je neco spatne u mne, nebo je to obecny problem. Takze k problemu.

 

Konfiguraci tu ani davat nebudu, zkousel jsem uz vice variant a samozrejme vse podle doporuceni, lec bez vysledku.

Kdyz v BO nezapnu APC, tak se mi v APC nacachujou jen php soubory, coz je logicke, ale zadne user entries. Podle testu je rychlost pomala, se zapnutym APC v BO je to o mnoho lepsi. Zaver tedy je, pouzivat APC.

 

Jakmile vsak presta zacne cachovat user entries, okamzite narusta fragmentace. Ze zacatku jsou to jen desetinky procenta, cili nic cim bych se normalne stresoval. Je ale zvlastni ze uz v tu chvili k nejake fragmentaci dochazi, mel jsem za to ze to bude hazet jeden zaznam za druhym, dokud nedojde misto... Po case vsak pocet entries zacne narustat do takove miry, ze to chache nezvladne a vznikne 100% fragmentace. Postupne se mi povedlo toto chovani zpomalit, pomoci filtrovani nekterych souboru (block layered indexery, google sitemap...) v apc filter parametru, ale je to jen zpomaleni.

Pozorovanim jsem si napriklad vsiml, ze kdyz ve FO navstivim nejakou produktovou stranku, pocet entries stoupne o 100-200 zaznamu. Jednouduchou matematikou si dokazu odvodi, ze pri 2000 produktech je to poradna varka zaznamu. A zrejme na tom moje cachovani pada, ve chvili kdy je vetsi navstevnost (nebo google crowler co projde vse?).

 

Celkove tech dat v MB neni az tolik, cca 50MB pro soubory a obdobne pro promenne. Ale nakonec bylo jedno, jestli shm_size je 128 nebo cele giga, vzdycky to dopadlo stejne.

 

Takze lidi zlati, prosim poradte nebo nasmerujte co se to vlastne deje? Doposud jsem nenasel zadnou relevantni odpoved jak vlastne funguje APC ostatnim prestashopakum, jen zasvecene navody na konfiguraci.

Proste nechapu, proc k te fragmentaci dochazi, kdyz velikost cache je dostatecna, produkty na strankach jsme v posledni dobe vubec nemenili, takze obsah je v podstate staticky... Nemate nejake rady nazbyt prosim?

 

EDIT: nasel jsem stranku, kde se o vysoke mire fragmentaci v cache kvuli tomu jak to ma presta spatne nastaveno bavi taky. Takze je to zrejme featura, coz me vede k myslence APC zapnout, protoze je benefit nesporny, ale primo v APC defaultni cachovani vypnout a definovat pozitivni filtry jen na soubory, ktere maji nejvice zasahu. Neni to uplne hezke reseni, ale v soucasne chvili je presta asi necachovatelna jinym zpusobem.

Zkousel to uz nekdo podobnym zpusobem?

Edited by peal (see edit history)
Link to comment
Share on other sites

Ja to prave taky zkousel hnat do extremu az jeden giga, ale po tech tydnech googlovani, konfigurovani a zkouseni mi postupne vsechno "docvaklo".

Kdykoliv nekde doporucovali nejakou konkretni konfiguraci APC, tak meli fragmentaci i nulovou. Toho jsem docilil jen ve chvili, kdy jsem v backofficu APC vypnul.

Vsechny stranky fungovalyu mozna jeste o zdibec rychleji, krome kategorii, kde je blocklayered.

 

Tady bych se zeptal: pouzivate tento modul? Kolik mate produktu a kombinaci? Podle ostatnich to zacne drasticky snizovat vykon s rostoucim poctem produktu a hlavne atributu.

 

Ja se ted chystam tohodle modulu zbavit, cimz vyresim i problemy s APC, ale nejdriv musim zrejme modul sam udelat, protoze free alternativu jsem nikde nenasel. A rotoze potrebujem stejne jen filtry podle barev, tak by to nemelo byt tak tezke. Kazdopadne to cachovani v preste je fakt nejake divne, lepsi je to bez neho.

Link to comment
Share on other sites

Mám zatím méně výkonný server, takže bez APC se neobejdu a i tak je to na hraně. V DB je okolo 15000 produktů a asi 30000 kombinací k nim. Blocklayered je zapnut, ale zatim nejsou žádné atributy. Možná ten modul dělá i filtr na výrobce, nedíval jsem se zatím. Jinak je s tím cachováním dost problémů při práci v backoffice a ve StoreCommanderu, takže právě hledám nějaké lepší řešení.

Link to comment
Share on other sites

Jestli vam to situace dovoli, zkuste nechat na serveru APC zapnute, v BO APC vypnout a projdete si ruzne stranky, treba testem jako webpagetest nebo gtmetrix. Podle mych testu je homepage a product page nactena hluboko pod dve sekundy, jen ty kategorie kde je blocklayered zapnuty nacitaji 10-15 vterin. Kdyz zapnu APC i v BO, tak je to za 2 sekundy.

Timhle testem jsem zjistil ze prave ten filter je pricinou a podle ostatnich adminu jim to dela taky ve chvili kdy maji hlavne ty kombinace.

My mame neco malo pres 2000 produktu, kombinace jen barvu a u prstenu velikosti (ty prave delaji poradne mnozstvi kombinaci, protoze damska/panska velikost vytvari velke mnozstvi moznosti).

 

Kdyz sem APC vypnul i na serveru, tak ta rychlost klesla vsude na osklive cisla. Takze souhlasim s vami, bez APC to moc nejde. Pokud se vam ale zacne obchod zpomalovat, zamerte se na filtr ;)

Link to comment
Share on other sites

Díky za rady, na ten filtr se podívám. Mám ho zatím zapnutý jen na výrobce, ale postupně se eshop bude rozšiřovat o řadu atributů u každé kategorie (rybářské věci), které jsou v současné době jen jako description u produktů a filtr bude vyžadován. V každém případě to bude potřebovat výkonnější HW. V současné době je použit nejslabší XEON 2 jádra 2.8 GHz, jen 4GB ram a SATA3 disky v mirroru plus SSD na stránky a obrázky. Bez APC jsem na zhruba 10sec odezvy, s APC skoro na 2sec, což taky není žádná sláva.

Link to comment
Share on other sites

Schvalne se zkuste na ten filtr podivat i na jinych vlaknech fora, co jsem nasel tak si vsichni stezovali ze je spatne udelany. Nepouziva totiz cache a data taha primo z databaze komplikovanym dotazem, a prave to zpusobuje to zpomaleni (na nasem serveru tento jeden dotaz trval 10 sekund, jine jsou v radu milisekund takze db je v poradku).

Vetsinou vsichni udajne skoncili u Advanced Filter Pro 4, ale ten stoji tusim nejakych 250$ coz neni zrovna levna zalezitost.

 

S tim APC to ale skutecne funguje, jediny problem je, ze presta se snazi cachovat prakticky vsechno, a pri vetsim mnozstvi produktu a pri vetsi navstevnosti se zacne strasne rychle cache fragmentovat. Pro kazdou navstivenou stranku s produktem to vytvorilo priblizne 100-200 promennych, u velkych kombinaci i vic. Vynasobte poctem produktu a zjistite ze to je uz mnohem vic, nez dokaze pamet udrzet.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...