18.06.2024
2
2 хв читання

Повільна адмінка OpenCart: чому і що з цим робити

Повільна адмінка OpenCart: чому і що з цим робити
Зміст статті

    Про швидкість магазину зазвичай говорять з боку покупця. Але є інший бік, який щодня коштує грошей: коли менеджер чекає хвилину, щоб відкрити список товарів.

    Чому адмінка гальмує інакше, ніж вітрина

    Вітрину рятує кеш: сторінка збирається один раз і віддається всім. В адмінці так не вийде — кожен запит унікальний, а дані мають бути свіжими. Тому тут не працює жодне з рішень, які допомагають вітрині, і потрібні інші: індекси, переписані запити, правильні ліміти.

    Типові симптоми й причини

    Список товарів відкривається десятки секунд

    Запит списку зазвичай рахує загальну кількість позицій по всьому каталогу з урахуванням фільтрів. Без потрібних індексів на десятках тисяч товарів це стає найповільнішою операцією в системі.

    Пошук по замовленнях підвішує весь сайт

    Пошук за полями, у яких немає індексу, змушує базу перебирати всю таблицю. Поки він виконується, інші запити стоять у черзі — і вітрина теж починає гальмувати.

    Товар із багатьма опціями не зберігається

    Форма товару передає сотні полів. Коли їх кількість перевищує ліміт сервера на число вхідних змінних, частина просто відкидається — товар зберігається, але без опцій. Помилки при цьому немає, і причину шукають довго.

    Імпорт прайсу кладе сервер

    Обробка великого файлу за один прохід упирається в ліміти пам'яті й часу. Правильно — обробляти частинами зі збереженням прогресу.

    Що дає найбільший ефект

    1. Індекси під конкретні запити ваших списків і фільтрів — не «стандартний набір», а те, що реально виконується.
    2. Переписані найважчі вибірки.
    3. Коректні ліміти сервера на кількість вхідних полів і час виконання.
    4. Ревізія модулів: типова знахідка — розширення, яке робить окремий запит до бази на кожен рядок списку.

    Коли впирається не в код

    Якщо база й запити вже впорядковані, а адмінка все одно повільна — питання переходить у площину сервера: обсяг пам'яті під базу, швидкість диска. Це вже оптимізація продуктивності сервера, і про порядок діагностики є окремий матеріал.

    Практична робота саме над адмінкою — послуга оптимізації адмінки для великого каталогу. Якщо гальмує й вітрина, у парі йде оптимізація швидкодії магазину, а для бази — налаштування MariaDB.

    Схожі статті
    Написати відгук
    Для того, щоб написати відгук, будь ласка авторизуйтесь або створіть обліковий запис