Jak bezpečně spravovat a optimalizovat databázi PrestaShopu

Databáze PrestaShopu obsahuje objednávky, zákazníky, katalog, konfiguraci, indexy i data modulů. Samotná velikost neříká, zda je databáze v pořádku. Rozhodující je, které tabulky rostou, proč rostou a zda to ovlivňuje odezvu, zálohy nebo údržbu.

Nespouštějte obecný seznam příkazů TRUNCATE z internetu. Prefixy, vazby a význam tabulek se liší podle verze a modulů. Smazání indexu bez následné obnovy může vyřadit vyhledávání; smazání provozních dat může být nevratné.

1. Změřte skutečný stav

  • v phpMyAdminu nebo z monitoringu zjistěte největší tabulky a jejich růst v čase,
  • ověřte, zda jde o objednávková data, logy, statistiky, cache, vyhledávací index nebo tabulku konkrétního modulu,
  • porovnejte růst s návštěvností, importy, crony a chybami v logu.

2. Připravte obnovitelnou zálohu

Před mazáním nebo optimalizací vytvořte databázový dump a ověřte, že jej lze obnovit. Provozní zálohy Zserveru popisuje návod Zálohování a obnova dat; před rizikovou změnou je přesto vhodný samostatný bod obnovy pro konkrétní zásah.

3. Použijte nástroj odpovídající příčině

  • cache mažte přes administraci PrestaShopu, ne přímým zásahem do neznámých tabulek,
  • statistiky a logy čistěte jen nástrojem kompatibilním s konkrétní verzí a s jasně nastavenou dobou uchování,
  • fasetovou navigaci a vyhledávání znovu indexujte podporovaným mechanismem příslušného modulu nebo verze,
  • tabulky cizích modulů čistěte podle dokumentace jejich autora.

PrestaShop 9 nabízí pro vyhledávací index konzolový příkaz prestashop:search:index; parametry a omezení popisuje oficiální dokumentace. U jiné verze použijte nástroj určený právě pro ni.

4. Ověřte výsledek

  • otestujte vyhledávání, filtry, katalog, košík, objednávku a administraci,
  • zkontrolujte cron a logy po dalším běžném provozu,
  • sledujte, zda se tabulka nezačne ihned plnit znovu; v takovém případě je potřeba odstranit příčinu, ne opakovat mazání.

Pokud databáze roste bez jasného důvodu, pošlete přes kontakt verzi PrestaShopu, velikosti největších tabulek a popis dopadu. Navrhneme cílený postup.

Podobné příspěvky