Я сделал свой первый нагрузочный тест, и у меня есть некоторые трудности с его пониманием.
Мне нужно проверить, насколько хорошо работает проект с php5 и с php7.
Скриншоты результатов:
Я прочитал в Google, что более низкое среднее время отклика (синяя линия) означает более высокую пропускную способность (зеленая линия), но на моей графике это тот же вектор, большее время отклика означает большую пропускную способность. Как это может быть правдой? Может быть, я сделал несколько ошибок
Да, php7 быстрее в среднем времени отклика. Но между php5apache и php7nginx такая небольшая разница.
Если нужна дополнительная информация, я могу предоставить ее легко.
Не зная, что ты сделал, невозможно сказать ничего связного. Но при условии, что вы управляли приличным количеством пользователей в течение некоторого приличного времени, вот пара идей:
Если пропускная способность и среднее значение одинаковы (горизонтальная линия) (php5 + apache) может быть
Либо вы достигли точки насыщения, т. Е. Если вы добавите больше пользователей или запросов за единицу времени, пропускная способность не будет расти, но затем будет расти среднее (ухудшаться)
Но также может быть так, что для данной нагрузки jmeter и / или сервер не будут обрабатывать запросы быстрее, однако вы еще не достигли точки насыщения. То есть Добавление большего количества пользователей или увеличение количества запросов в единицу времени увеличило бы пропускную способность без изменения среднего значения.
Если пропускная способность растет, в то время как среднее значение довольно плоское (php7 + nginx)
Либо вы постоянно увеличиваете свою нагрузку во время тестовых прогонов. Это может быть запланировано (например, вы начинаете с очень медленного нарастания) или незапланировано (например, какая-то логика в сценарии вызывает такое поведение, которого вы не собирались иметь, или что-то в среде JMeter вызывает это). В этом случае среднее значение совершенно бесполезно, поскольку среднее значение при более низкой нагрузке будет влиять на среднее значение при более высокой нагрузке, особенно с учетом того, что отклонение постепенно увеличивается.
Или вашему серверу требуется некоторое время для наращивания (поэтому он способен обрабатывать больше запросов за единицу времени после некоторого времени работы, чем сразу после запуска теста). Таким образом, вы даже не видите «типичной» производительности, поскольку график заканчивается, а пропускная способность все еще увеличивается.
Если бы эта пропускная способность продолжала расти в течение нескольких часов (учитывая постоянную нагрузку), это было бы действительно странно. Единственный случай, который я могу себе представить, — это включение ошибок в результаты по средней / пропускной способности. На некоторых серверах сбои происходят намного быстрее (или намного медленнее), чем успешные транзакции. Так что, если сбои являются частью одного и того же среднего значения, и их много, они могут каким-то образом повлиять на результаты, что делает результаты странными.
Поэтому я бы сказал, что вам нужно исключить «растущую» пропускную способность из результатов и дольше запускать тест, чтобы увидеть, когда он стабилизируется (в какой-то момент это произойдет, и вы можете сбросить график, когда он достигнет состояния «горизонтальная линия»). Вы также можете увеличить нагрузку на оба теста, чтобы увидеть, если php5 + apache был действительно в точке насыщения.
Других решений пока нет …