Оптимізація MySQL для OpenCart: швидкість без зміни хостингу
Повільний інтернет-магазин — це не завжди проблема хостингу. Найчастіше причина — в неоптимізованих запитах до бази даних MySQL. Після правильного налаштування OpenCart-магазини, що вантажились 6–8 секунд, починають відповідати за 1,5–2 секунди — на тому самому сервері.
Де ховаються секунди
OpenCart виконує кілька десятків SQL-запитів на кожну сторінку каталогу. Якщо таблиці oc_product, oc_product_description і oc_product_to_category не мають правильних індексів — кожен запит робить повний скан таблиці. При 10 000+ товарах це критично для часу відповіді.
Що ми робимо
Наш чеклист оптимізації MySQL для OpenCart включає:
- Складені індекси на колонки, що часто фігурують у WHERE та JOIN:
product_id,status,category_id,language_id - Redis-кешування результатів SELECT-запитів замість застарілого query cache MySQL 5.x
- Оптимізація my.cnf:
innodb_buffer_pool_size,max_connections,slow_query_log - Видалення orphan-записів з
oc_url_aliasіoc_product_to_store, що накопичуються роками - EXPLAIN-аналіз повільних запитів через slow query log (поріг: 1 секунда)
PHP і OPcache
Паралельно вмикаємо OPcache для PHP 8.x і перевіряємо, що OpenCart зберігає кеш сесій у файловій системі, а не в базі даних. Це знімає ще 20–30% навантаження на MySQL без жодних змін у коді магазину.
Реальний результат
Для інтернет-магазину з 15 000 SKU та 500 відвідувачами на добу час відповіді сторінки категорії скоротився з 5,4 с до 1,8 с після двох годин роботи — без зміни тарифного плану хостингу.
Прискоримо ваш магазин?
Проводимо аудит продуктивності OpenCart: аналіз запитів, індексів і конфігурації сервера. Залиште заявку на maximorum.com — відповімо протягом одного робочого дня.