Методы тестирования производительности различают по следующим направлениям:
Нагрузочное тестирование. Обычно его проводят с целью оценки поведения приложения при заданной ожидаемой нагрузке. Такой нагрузкой может быть, например, ожидаемое количество одновременных пользователей приложения, совершающих транзакции в течение заданного числа временных интервалов.
Стресс-тестирование. Используется для понимания пределов пропускной способности приложения. Данный вид испытаний проводится для определения надежности системы при экстремальных или непропорциональных нагрузках
Тестирование стабильности. При тестировании впитывания контролируется использование памяти для обнаружения потенциальных утечек. Также важным, но часто упускаемым из виду является снижение производительности, т.е. обеспечение того, чтобы пропускная способность и/или время отклика после некоторого длительного периода устойчивой активности были такими же хорошими или лучшими, чем в начале теста.
Cонфигурационные испытания. В этом случае вместо тестирования производительности с точки зрения сыпучих нагрузок, проверяется влияние изменений на производительность конфигурации.
Ключевые показатели (метрики) производительности системы: Потребление ресурсов ЦП (ЦП, %)
Метрика, показывающая, сколько времени с определенного интервала было затрачено данным процессором на вычисления выбранного процесса. В современных системах важным фактором является способность процесса работать в нескольких потоках, чтобы обеспечить возможность выполнять вычисления параллельно.
Потребление оперативной памяти (использование памяти, Мб)
Метрика, показывающая объем памяти, используемый приложением. При работе приложения память заполняется ссылками на объекты, которые, в случае неиспользования, могут быть очищены с помощью специального автоматического процесса под названием «сборщик мусора». Время, затрачиваемое процессором на очистку памяти таким образом, может быть значительным.
Потребление сетевых ресурсов
Эта метрика напрямую не связана с производительностью приложения, но ее индексы могут указывать на пределы общей производительности системы.
Работа дисковой подсистемы (I/O Wait)
Работа с дисковой подсистемой может существенно повлиять на производительность системы, поэтому сбор статистики по рабочему диску может помочь выявить узкие места в этой области. Большое количество операций чтения или записи может привести к простою процессора в ожидании данных с диска и со временем увеличить потребление ЦП и увеличить время отклика.
Время выполнения (время отклика, мс)
Время выполнения запроса приложения остается одним из важнейших показателей производительности системы или приложения. Это время может быть измерено на стороне сервера, как индикатор времени, который необходим для обработки запроса на стороне сервера; и на клиента, как мера общего времени, необходимого для сериализации/десериализации, отгрузки и обработки запроса.