Оптимізація адмінки магазину
Оптимізація адмінки для великого каталогу
Про швидкість магазину зазвичай говорять з боку покупця. Але є інший бік: коли список товарів вантажиться хвилину, а пошук по замовленнях вішає весь сайт, робота менеджерів стає болем — і це прямі втрати часу щодня.
Типові симптоми
- список товарів або замовлень відкривається десятки секунд;
- пошук по каталогу підвішує не лише адмінку, а й вітрину для покупців;
- товар не зберігається або зберігається з помилкою, коли в нього багато опцій;
- масові дії обриваються на півдорозі;
- імпорт прайсу кладе сервер;
- дашборд відкривається довше за всі інші сторінки.
Чому це окрема робота
Оптимізація вітрини й оптимізація адмінки — різні задачі. Вітрина рятується кешем: сторінка збирається один раз і віддається всім. В адмінці кеш майже не працює — кожен запит унікальний, дані мають бути свіжими. Тому тут допомагають лише індекси, переписані запити й правильні ліміти.
Що роблю
- заміряю, які саме сторінки адмінки повільні й скільки запитів вони роблять;
- додаю індекси під конкретні запити ваших списків і фільтрів;
- переписую найважчі вибірки — зокрема ті, що рахують кількість по всьому каталогу;
- налаштовую параметри, які обривають збереження товарів із великою кількістю опцій;
- виношу важкі операції у фонове виконання, щоб імпорт не блокував роботу;
- перевіряю сторонні модулі: типова знахідка — модуль, що робить запит у циклі по кожному рядку списку.
Про очікування
Реалістичний результат — списки й пошук у межах секунд замість десятків секунд. Але якщо каталог росте далі, до питання доведеться повернутись: на певному масштабі потрібен уже інший сервер, і краще знати про це заздалегідь.
Суміжне: оптимізація швидкодії вітрини — інша задача, часто йде в парі; налаштування бази; імпорт товарів, якщо адмінка гальмує саме через нього.
Теги: повільна адмінка, гальмує адмінка opencart, оптимізація адмінки, великий каталог