it-swarm.dev

Změna měřítka a WP eCommerce

Souvisí s touto otázkou .

Jakékoliv doporučení týkající se nástrojů, zásuvných modulů pro optimalizaci velkých stránek elektronického obchodu na WP. V současné době bít 1000 položek a 5000 více položek přichází. Zdá se, že optimalizace by byla odlišná od standardního blogu, který slouží tisícům uživatelů. Počet obchodů, které jsou vyvíjeny na WP, roste a společný balíček optimalizací by byl užitečný.

MM/RC

5
RealityCramp

Vyvinul jsem 55k produkt ecommerce stránky pomocí Wordpress s pluginem Shopp a může sdílet to, co jsem udělal MySQL vyniknout lepší výkon, YMMV a některé (nebo všechny) z těchto nemusí vztahovat na vaši situaci.

Určete, kolik potřebujete zvýšit vyrovnávací paměti/vyrovnávací paměti tím, že se podíváte na výstup z příkazu "show status" sql - existují nástroje, které do tohoto výstupu dostačují, což může být užitečné, často používám phpmyadmin k získání nápadu. http://blog.mysqltuner.com/ je také užitečný zdroj a nástroj.

Ujistěte se, že je zapnuta mezipaměť dotazů a že je dostatečně velká na to, aby měla velmi nízké číslo paměti. Ujistěte se, že počet přečtených klíčů není příliš vysoký (což je relativní hodnota), s nímž může pomoci zvětšení klíče key_buffer_size. Ujistěte se, že počet vytvořených dočasných tabulek je nízký, snižte toto číslo zvýšením tmp_table_size.

Zapněte pomalé dotazy a protokolování pomalých dotazů, znovu spusťte tyto dotazy ručně s vysvětlujícími příkazy, podle potřeby přidejte indexy změnit typy sloupců atd. U jednoho dotazu jsme dostávali šílené vysvětlující příkazy (jako v porovnání s mnoha, mnohem více řádků, než bylo „mělo“), upgrade na novější verzi MySQL způsobil, že stejný dotaz byl mnohem lépe optimalizován (a mnohem rychlejší) pomocí MySQL sám.

Pokud používáte fulltextové indexování, nevěřím, že tabulky InnoDB jsou volbou - produkty v době, kdy jste zaneprázdněni, neaktualizujte. Pokud to váš balíček elektronického obchodu podporuje, můžete minimalizovat narušení zákazníka (výkon nebo jinak) provedením změn na pracovním serveru a poté přesunutím pouze tabulek produktů s výpisem od fáze a načítáním do výroby - to není pracovat bez nějaké další práce pro zbytek instalace Wordpress však.

Pokud váš design stránek a UX mohou podpořit navádění uživatelů do režimu "prohlížení" versus režim "vyhledávání" (např .: kliknutím na stránky v závislosti na vyhledávání v textovém poli do vyhledávacího pole) můžete využít výhod velmi jednoduché databáze mezipaměti úrovně a Wordpress.

Předem načtěte své vyrovnávací paměti - snadné ukládání do mezipaměti, jako jsou mezipaměti dotazů a ukládání do mezipaměti na úrovni Wordpressu, může být také předem načteno pomocí programu pavouk vašich stránek pomocí wgetu. Můžete také předběžně načíst mezipaměť pro vyhledávání pomocí chování vyhledávání uživatelů (prostřednictvím protokolů) a opětovného získání těchto požadavků, když potřebujete vyplnit mezipaměti.

11
bsr

Byl jsem zvědavý na svůj vlastní komentář a dělal jsem nějaké čtení, tady jsem.

Nejprve bych dal W3 Total Cache zkusit. Také nainstalujte APC PHProzšíření na váš server a nastavte W3 Total Cache pro jeho použití. Bude používat APC pro cache databázových objektů, PHP, dokonce pomoci minifikovat vaše CSS a JS. Mohlo by to být dost. Zejména pokud již začnete používat nějakou MySQL cache. W3 Total Cache také může pracovat s Memcache jako mezipaměť pro ukládání do mezipaměti.

Pro databázi je ukládání do mezipaměti velmi užitečné. Našel jsem tento odkaz a vysvětluje, jak dělal něco pro svůj blog MU. Citovat:

Mezipaměť dotazů je šikovná malá funkce v MySQL, kde ukládá - do vyhrazené paměti v rámci hlavní paměti - všechny výsledky dotazu na tabulku, která se v poslední době nezměnila.

To znamená, že za předpokladu, že přijde požadavek na načtení určitého řádku v tabulce - a že tato tabulka nebyla v nedávné době žádným způsobem upravena - a mezipaměť nevyžadovala vyplachování/čištění - dotaz/data mohou být z tohoto důvodu splněny mezipaměti. Hlavní výhodou je samozřejmě uspokojení požadavku - databáze nemusí jít na disk (což je obecně nejpomalejší část systému) a může být okamžitě uspokojena.

Tak to je docela v pohodě, a pomůže hodně, protože produkty samy o sobě nebudou moc měnit. Další věc, o které se článek zmiňuje, je zajistit, že máte tak velkou paměť, abyste mohli v databázi uchovávat databázi, což pomůže dramaticky urychlit dotazy.

Mluví také o typech tabulek a pomocí MyISAM přes InnoDB pro většinou jen pro čtení tabulky, zatímco toto uvažování je trochu orientované na MU, mohlo by to být užitečné.

Pokud jde o nastavení indexů. Pokud máte mnoho z nich, mohou zpomalit vložky a zabírat více místa na disku. Ale protože si nemyslím, že by se pravidelně přidávalo velké množství výrobků, myslím si, že je to přijatelné. A místo na disku je levné ...

1
Ryan Gibbons