Как оптимизировать MySQL индексы при росте базы товаров до 100k+
Руководство по поиску медленных запросов через slow-query-log, созданию составных индексов и ускорению фильтрации товаров по опциям в каталогах с высокой вложенностью.
Пишу о производительности интернет-магазинов, интеграции API, настройке Linux/Nginx серверов и разработке под OpenCart.
Руководство по поиску медленных запросов через slow-query-log, созданию составных индексов и ускорению фильтрации товаров по опциям в каталогах с высокой вложенностью.
Конфигурирование пулов php-fpm, настройка кэширования fastcgi_cache, ограничение частоты запросов (rate limiting) и оптимизация лимитов дескрипторов для предотвращения 502/504 ошибок.
Практический опыт исправления несовместимостей старых модулей vqmod/ocmod, избавления от deprecated-предупреждений и получения прироста производительности до 40% без переписывания ядра.
Пошаговое руководство по ускорению загрузки страниц: оптимизация картинок (WebP), минификация CSS/JS, настройка кэширования в Nginx и оптимизация тяжелых MySQL-запросов.
Разбор API банков для генерации динамических QR-кодов, обработка Webhook-уведомлений и реализация двухстадийной оплаты с заморозкой средств до подтверждения менеджером.
Разбор узких мест при синхронизации больших баз (от 50 000 товаров): организация очередей задач, оптимизация потребления памяти скриптом импорта и обработка таймаутов.
Реализация релевантного полнотекстового поиска с учётом морфологии русского языка, опечаток, синонимов, автодополнения и весов полей на больших каталогах товаров.
Как настроить права доступа, скрыть важные пути системы, закрыть API от неавторизованного доступа и защитить каталог товаров от нелегального парсинга конкурентами.
Как правильно разметить цены, наличие, отзывы и рейтинги товаров (Product, Offer, AggregateRating), чтобы улучшить CTR сниппетов в поисковой выдаче Яндекса и Google.
Настройка кэширования категорийного дерева, хлебных крошек и результатов фильтрации. Проектирование механизмов инвалидации кэша при обновлении цен из учетной системы.
Как отложить инициализацию Яндекс.Метрики, пикселей соцсетей, чатов обратной связи и интерактивных карт до первого взаимодействия пользователя с интерфейсом сайта.
Чистка устаревших транзитных кэшей (transients), оптимизация автозагружаемых опций, отключение неиспользуемых скриптов плагинов и перенос мета-данных заказов в кастомные таблицы (HPOS).
Зачем интернет-магазину асинхронные задачи: отправка транзакционных писем, генерация PDF-накладных, экспорт фидов на маркетплейсы и обработка логов без замедления ответа сервера.