Комплексная оптимизация Magento 2 под ключ

Мы сталкивались с ситуацией: Magento 2 грузит страницу 8 секунд, каждый запрос вызывает 300 SQL-запросов и 60 файловых операций. Клиенты уходят, конверсия падает. Решение — не просто включить кэш, а выстроить правильный стек: CDN → Varnish → Nginx → PHP-FPM 8.2 → MySQL 8.0, каждый слой настроен под

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Комплексная оптимизация Magento 2 под ключ
Сложный
~1-2 недели

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1414
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    982
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1241
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    982
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    995

Мы сталкивались с ситуацией: Magento 2 грузит страницу 8 секунд, каждый запрос вызывает 300 SQL-запросов и 60 файловых операций. Клиенты уходят, конверсия падает. Решение — не просто включить кэш, а выстроить правильный стек: CDN → Varnish → Nginx → PHP-FPM 8.2 → MySQL 8.0, каждый слой настроен под платформу. За 6–10 рабочих дней мы доводим TTFB до 200–500 мс. В этой статье — проверенные методы и конфигурации, которые используем на коммерческих проектах.

Недавний кейс: магазин с каталогом 50 000 SKU на shared хостинге — страница грузилась 12 секунд, LCP — 8 секунд. Аудит показал, что плагин «Featured Products» делал 150 SQL-запросов на страницу. После настройки Varnish и устранения N+1 TTFB снизился до 0.3 с, LCP — до 1.2 с. Сравнение: Varnish лучше встроенного кэша Magento в 10 раз по TTFB, а Redis сокращает время генерации блока с 50 мс до 1–2 мс.

Почему Magento 2 тормозит?

Стандартная установка выполняет 200–400 SQL-запросов и 50–100 файловых операций на страницу. Типичные причины:

  • N+1 проблемы — плагины afterLoad, коллекции без addAttributeToSelect, загрузка продуктов по одному.
  • Отсутствие Varnish — динамический контент генерируется при каждом запросе.
  • MySQL без настройки — буфер по умолчанию 128 МБ, redo log 48 МБ.
  • PHP без OPcache/JIT — интерпретация кода на каждый запрос.
  • Поиск через MySQL — LIKE '%query%' для каталога 10 000+ SKU даёт 2–5 секунд.

Как мы настраиваем стэк?

Varnish

Varnish — обратный прокси-кэш, который хранит полные HTTP-ответы. Для анонимных пользователей hit rate достигает 85–95%. Конфигурация VCL учитывает архитектуру Magento: пропускаем сессии, корзину, checkout, кэшируем всё остальное.

Redis

Redis используется для кэша (config, layout, block HTML, full page cache) и хранения сессий. Это убирает дисковые операции и снижает нагрузку на MySQL. Настройка включает отдельные инстансы для разных типов данных.

PHP 8.2 + OPcache + JIT

Переход на PHP 8.2 даёт прирост 15–25% на CPU-bound операциях. OPcache с памятью 512 МБ и JIT в режиме tracing ускоряют выполнения скриптов до 20%.

; /etc/php/8.2/fpm/conf.d/opcache.ini opcache.enable=1 opcache.memory_consumption=512 opcache.interned_strings_buffer=64 opcache.max_accelerated_files=60000 opcache.validate_timestamps=0 opcache.revalidate_freq=0 opcache.fast_shutdown=1 opcache.enable_cli=1 ; JIT opcache.jit=tracing opcache.jit_buffer_size=256M 
[magento] user = www-data group = www-data listen = /run/php/php8.2-fpm-magento.sock listen.backlog = 65535 pm = dynamic pm.max_children = 40 pm.start_servers = 10 pm.min_spare_servers = 5 pm.max_spare_servers = 20 pm.max_requests = 2000 php_admin_value[memory_limit] = 768M php_admin_value[max_execution_time] = 600 php_admin_value[opcache.file_cache] = /tmp/opcache 

MySQL

InnoDB buffer pool — 70% от RAM сервера. Redo log 1 ГБ, flush method O_DIRECT, query cache отключён (мьютекс убивает параллелизм). Ниже — типичная конфигурация для сервера с 16 ГБ RAM.

[mysqld] innodb_buffer_pool_size = 8G innodb_buffer_pool_instances = 8 innodb_log_file_size = 1G innodb_log_buffer_size = 64M innodb_flush_log_at_trx_commit = 2 innodb_flush_method = O_DIRECT innodb_read_io_threads = 16 innodb_write_io_threads = 16 innodb_thread_concurrency = 0 query_cache_type = 0 slow_query_log = 1 slow_query_log_file = /var/log/mysql/slow.log long_query_time = 1 

Elasticsearch

MySQL-поиск заменяем на Elasticsearch — полнотекстовый поиск с релевантностью, автодополнение, фасетная фильтрация. После переиндексации страница поиска с 50 000 товаров отвечает за 50–150 мс вместо 2–5 секунд.

Что делать с N+1 запросами?

Диагностика N+1 Диагностику проводим с помощью `n98-magerun2` — включаем лог запросов, открываем страницу, анализируем файл. Типичные источники:
  • afterLoad плагины, делающие запросы для каждой записи коллекции
  • атрибуты EAV без addAttributeToSelect в коллекции
  • блоки, вызывающие $product->load($id) вместо работы с коллекцией

Правильный паттерн загрузки коллекции: один запрос на все данные, а не 24+1.

Как измерить результат оптимизации?

Метрика До оптимизации После оптимизации
TTFB 3–8 с 0.2–0.5 с
SQL-запросов 200–400 20–50
LCP >4 с <1.5 с
FCP >3 с <1 с
Search response 2–5 с 50–150 мс

Измеряем с помощью Chrome DevTools, Lighthouse, Blackfire. Для продакшена рекомендуем мониторинг Core Web Vitals через Search Console и RUM.

Сколько времени занимает оптимизация?

Настройка PHP и Varnish — 2–3 дня. MySQL и Elasticsearch — 1–2 дня. Аудит N+1, крон, CDN — 2–3 дня. Полная оптимизация — 6–10 рабочих дней. Оценим ваш проект за 1–2 дня после предоставления доступа.

Типичные проблемы и их решение

Проблема Решение Типичный выигрыш
Высокий TTFB Varnish + CDN 10x ускорение
Много SQL-запросов Устранение N+1, flat catalog 90% сокращение
Медленный поиск Elasticsearch 20–50x быстрее
Низкий hit rate кэша Настройка VCL, исключения 85–95% hit rate

Мы гарантируем стабильность результатов после оптимизации. Опыт работы с Magento — более 8 лет, выполнено 50+ проектов по ускорению магазинов. Свяжитесь с нами для бесплатного аудита — оценим текущую производительность и предложим план. Закажите комплексную оптимизацию Magento 2 под ключ — получите измеряемый прирост конверсии и удовлетворённость клиентов.