Как измерить?
Поскольку мы хотим работать с нагрузкой, нам нужно ее как-то измерять. Единиц измерения две:
Первая — rps, число запросов к веб-серверу. Очень простая с точки зрения инфраструктуры единица. Но недостаток ее в том, что она не отражает реальный мир, потому что с системой работают пользователи, то есть реальные люди. Люди могут присылать по несколько разных запросов одновременно с одной странички, но не каждую секунду, плюс на каждой страничке это число может быть разным.
Чтобы приблизить нагрузочное тестирование к реальному миру существует понятие виртуальных пользователей. Это оцифровка действий пользователя различной степени приближенности к реальной работе людей на платформе. Иначе говоря, это сценарий по которому отправляются запросы на сервер. Тогда нагрузка измеряется в количестве одновременно работающих виртуальных пользователей.
С точки зрения реальной нагрузки ни один из этих способов не является истинным, но виртуальные пользователи однозначно более корректное описание нагрузки.
Автоматизировать действия пользователя — не самая простая задача, в условиях современного веба. Да, мы можем слать запросы. Но на запросы приходят ответы. В них содержатся, например, куки. Если отправлять запросы без этого поля, то моделирование реальной нагрузки будет некорректным. Значит во время составления сценария это поле нужно будет перехватить и корректно отправить в следующем запросе. И таких полей и нюансов в работе каждого ресурса может быть огромное множество. Поэтому для составления грамотных сценариев затрачивается серьезное количество ресурсов.
Ход тестирования
Цикл нагрузочного тестирования состоит из нескольких пунктов.
Во-первых, это методика. Документ, где в деталях описываются цели, ограничения и методы тестирования. Данный документ согласовывается с заказчиком. Впоследствии в этот документ так же добавляются полученные результаты и их анализ. Когда разработана методика стрельб, нужно готовить патроны. Сценарии определяются с учетом всех нюансов работы платформы и требований методики.
Если необходима настройка отдельного контура для тестирования, эмуляция работы внешних ресурсов или еще какие-то задачи, то подготовка этого так же выделяется в отдельный пункт. Во время самих тестов требуется только контроль за ходом работы. Затем анализ и при необходимости повтор всего цикла.
2 / 3
#лонгрид
Post #559
1.88K
- 🔥 8
- 👍 5
- 👏 2