Повільна адмінпанель OpenCart не завжди означає слабкий хостинг або «забагато модулів». Затримку може створювати конкретний SQL-запит, зовнішній сервіс, побудова віджета чи завантаження ресурсів браузером. Правильна діагностика визначає, де витрачається час, перш ніж щось вимикати.
Знайдіть межу проблеми
Порівняйте сторінку входу, головну панель, список товарів і налаштування конкретного розширення. Якщо затримка є лише на одній сторінці модуля, перевіряйте її контролер і залежності. Якщо повільні всі маршрути, додайте до перевірки загальні події запуску, сесію, базу та стан сервера.
У засобах розробника браузера відкрийте Network. Визначте, чи довго очікується HTML, чи сторінка вже отримана, а затримуються скрипти, стилі або AJAX. Окремий повільний запит не слід плутати з часом завантаження всієї сторінки.
Збирайте порівнювані вимірювання
Повторіть один сценарій кілька разів і запишіть маршрут без токена, час, TTFB та загальну тривалість. Порівнюйте однакові умови: сторінку каталогу з тим самим фільтром і розміром списку. Перший запит після зміни кешу може відрізнятися від наступних.
- Довге очікування HTML — привід дослідити серверний код та залежності.
- Повільний окремий AJAX — привід перевірити саме його задачу.
- Швидкі відповіді, але зависання інтерфейсу — привід дослідити браузерні помилки й обсяг DOM.
Перед передаванням HAR-файла видаліть cookie, user_token, ключі та персональні дані. Журнал вимірювань має допомагати відтворенню проблеми, а не поширювати доступ до кабінету.
Перевірте типові джерела серверної затримки
На головній панелі можуть працювати віджети, агрегати продажів або оновлення валют. У модулі — перевірка таблиць, великі підрахунки чи звернення до API. Сам факт наявності такого коду не доводить, що саме він винен: потрібні тривалість операції та повторюваний зв’язок із затримкою.
Для бази дослідіть повільні запити й план виконання, а для зовнішнього сервісу — час з’єднання та відповіді. Не збільшуйте всі тайм-аути без вимірювань: це може лише подовжити очікування. Загальне навантаження спільного сервера також не є доказом навантаження саме вашого магазину.
Вносьте одну зміну й перевіряйте результат
На тестовій копії тимчасово вимкніть один підозрюваний віджет або функцію. Повторіть той самий сценарій. Якщо з’явилася вимірювана різниця, дослідіть причину й можливість кешувати результат, обмежити вибірку або перенести важку роботу у фоновий процес.
Не редагуйте навмання згенеровані файли модифікацій. Працюйте з джерелом, зберігайте резервну копію та враховуйте версію PHP. У ShopX обирайте модулі під конкретну задачу, а порядок встановлення перевіряйте за інструкцією безпечного запуску. Підсумком діагностики має бути вимірювана причина й повторний тест після виправлення.





