Интернет-магазин Эконика
Эконика – это одна из крупнейших обувных сетей в России, занимается не только ритейлом, но и продажей фирменной обуви собственного бренда.
Провести нагрузочное тестирование, чтобы проверить целесообразность миграции на новый сервер и найти слабые места инфраструктуры. Исправить ошибки, выявленные в ходе тестирования, улучшить стабильность и повысить порог нагрузки.
В этом кейсе мы провели 4 итерации нагрузочного тестирования и поработали с инфраструктурой клиента, чтобы увеличить пропускную способность и стабильность сайта.
Для первой итерации нагрузочного тестирования за основу взяли лог запросов к серверу, а именно к динамическим PHP-страницам. При этом уже при небольших показателях RPS (запросов в секунду) скорость работы сайта значительно снижалась.
При этом мы не наблюдали нагрузку ни на веб-сервере, ни на сервере с базой данных. При анализе полученных результатов тестирования инженеры выявили следующие проблемы:
Одним из самых главных факторов, сдерживающих скорость работы сайта, являлось использование внешнего сервиса geoip, который медленно отвечал на запросы.
Большое количество времени занимало обращение к директории с сессиями.
Проблему с сервисом geoip передали разработчикам, сами же перешли к инфраструктурным работам.
План по инфраструктурным работам
- Настроить новый сервер как ноду для масштабирования на время акции.
- Подготовить конфигурационные файлы для балансировки запросов к сайту между двумя нодами.
- На новом сервере протестировать другие, более быстрые способы хранения сессий.
Итоги первой итерации
По итогам первой итерации нагрузочного тестирования было решено вводить новый сервер как дополнительную ноду на время акции. Эту операцию мы провели по своим стандартным схемам, отработанным на других проектах.
Сначала настроили новый сервер, потом создали локальную сеть между ним и остальными серверами, включили репликацию файлов и баз данных.
Далее настроили хранение сессий в memcached, настроили новый сервер для принятия трафика, отбалансировали SQL-запросы, добавили возможность чтения со slave.
В процессе инфраструктурных работ мы провели ещё несколько итераций нагрузочного тестирования.
- Первую параллельно с настройкой БД и нового сервера.
- Вторую после создания тестового виртуального хоста, на котором уже была включена балансировка WEB и SQL запросов.
- Закончив работы, провели ряд тестов, поправили настройки opcache и начали получать очень приличные показатели запросов в секунду, которые выдерживала новая система.
После тестирования работы сайта на тестовом vhost, было исправлено:
- оформление заказа в 1 клик;
- получение СМС;
- отображение остатков.
После чего балансировка была включена на основной сайт и проведено финальное тестирование. Оно выявило ошибки CDN, которые мы тоже исправили.
Пропускная способность сайта увеличилась более чем в 18 раз с возможностью горизонтально масштабировать вычислительные ресурсы и выдерживать ещё больше трафика.
Новый сервер настроили для обработки скриптов при балансировке запросов.
Упомянутые услуги
Ответим на заявку в ближайшие 24 часа. А еще мы можем проконсультировать вас по телефону +7 800 555-91-99, электронной почте info@itsumma.ru или в Telegram-чате.