Реалистичные сценарии важнее числа
Тест, который тысячу раз в секунду открывает главную страницу, обычно показывает отличный результат: главная закеширована. Реальные посетители ищут, фильтруют, кладут товары в корзину и оформляют заказы — именно эти действия нагружают базу и PHP. Профиль нагрузки строим по данным аналитики.
Как читать результат
Важны не только «сколько выдержал», но и как росло время ответа. Обычно до определённой нагрузки время ответа почти не меняется, затем начинает расти, а дальше появляются ошибки. Точка, где время ответа выходит за приемлемое, — практический предел сайта.
Где обычно узкое место
- Медленные запросы умного фильтра и поиска.
- Число процессов PHP-FPM меньше нужного или больше, чем вмещает память.
- Буфер базы данных меньше рабочего объёма данных.
- Запросы к внешним сервисам без таймаутов на оформлении заказа.
- Агенты, выполняемые на хитах посетителей.
Когда повторять
Перед каждым сезонным пиком, после переезда на другой сервер и после крупных изменений каталога, фильтров или оформления заказа. Сценарии сохраняются — повторный тест проводится быстрее.