7 шагов для проведения нагрузочного тестирования. 2023

Сайт тупит? Всё долго грузится? Когда сломается сервак? Или все летает? В общем будем грузить, ломать и тестировать. Дальше речь пойдет про нагрузочное тестирование.

Вы узнаете про:

  • Что такое нагрузочное тестирование?
  • Какой общий процесс выполнения тестирования?
  • Какие есть инструменты для нагрузочного тестирования?

Подпишись и следи за новыми и полезными материалами.

Нагрузочное тестирование — это тип тестирования производительности, целью которого является определение поведения системы при определенной ожидаемой нагрузке. Цель состоит в том, чтобы определить узкие места производительности системы и оценить ее реакцию на увеличение числа одновременных пользователей, транзакций или запросов.

В общем нужно нагрузить сервак пока он не «задымится». Шутка, но близко к правде)))

7 шагов для проведения нагрузочного тестирования. 2023

Вот общий процесс выполнения нагрузочного тестирования:

1. Определите ожидаемую нагрузку: определите ожидаемое количество одновременных пользователей, транзакций или запросов, которые система должна быть в состоянии обработать.

2. Настройка тестовой среды: сюда входит настройка необходимых аппаратных и программных ресурсов, таких как инструменты нагрузочного тестирования и тестовые серверы.

3. Определите тестовый сценарий: определите тестовый сценарий, имитирующий ожидаемую нагрузку на систему. Это должно включать шаги, которые будет выполнять каждый пользователь, и запросы, которые они будут делать в системе.

4. Создайте виртуальных пользователей: создайте виртуальных пользователей или «инжекторы загрузки», которые имитируют доступ реальных пользователей к системе.

5. Выполнить тест: выполнитенагрузочный тест, отслеживая производительность системы во время теста.

6. Анализ результатов: анализрезультатов нагрузочного теста, включая время отклика, использование ресурсов и частоту ошибок. Используйте эту информацию для выявления узких мест в производительности и оценки способности системы справляться с ожидаемой нагрузкой.

7. Точная настройка системы: на основе результатов нагрузочного теста внесите в систему настройки производительности, чтобы улучшить ее способность справляться с ожидаемой нагрузкой.

Важно отметить, что нагрузочное тестирование должно выполняться в контролируемой и изолированной среде, чтобы обеспечить точные результаты и свести к минимуму влияние на производственные системы.

Существует множество различных инструментов, которые можно использовать для нагрузочного тестирования в ИТ. Некоторые из самых популярных включают в себя:

Apache JMeter: инструмент с открытым исходным кодом, который можно использовать для тестирования веб-приложений, веб-служб, баз данных и других типов систем.

Gatling: инструмент нагрузочного тестирования, использующий Scala и Akka для повышения производительности.

LoadRunner: коммерческий инструмент для нагрузочного тестирования, поддерживающий несколько протоколов и платформ.

Siege: инструмент нагрузочного тестирования с открытым исходным кодом, который прост в использовании и может генерировать большие объемы нагрузок.

Tsung: инструмент нагрузочного тестирования, написанный на Erlang, предназначенный для тестирования распределенных систем и способный имитировать тысячи пользователей.

WebLoad: коммерческий инструмент нагрузочного тестирования, который можно использовать для тестирования веб-приложений, мобильных приложений и API.

StressTester: Коммерческий инструмент нагрузочного тестирования, который можно использовать для тестирования различных систем, включая веб-приложения, мобильные приложения и API.

Grinder: среда нагрузочного тестирования с открытым исходным кодом, которую можно использовать для тестирования систем на основе Java.

Это лишь некоторые из многих доступных инструментов нагрузочного тестирования. Выбор инструмента зависит от конкретных требований тестируемой системы и доступных ресурсов.

Василий Волгин - full stack тестировщик
Василий Волгин - full stack тестировщик
33
2 комментария

Зачем делать нагрузочное тестирование на тестовых серверах, если тестировать на убиваемость надо продакшен среду?

Для поверхностного сценария, на мой взгляд, лучше уж взять Yandex.Tank, подготовить патроны из access логов и стрелять пока прод не упадет, желательно ночью когда минимум нагрузки.

Сценарии по сложнее можно через JMeter. Об остальных даже не слышал, но я не тестер, а мне как разработчику этих 2х инструментов за глаза.

1

Спасибо за мнение. Согласен с вами. По вопросу Думаю Случаи бывают разные, возможно не каждый клиент согласен, чтобы у него проводили нагрузочное тестирование. Остаётся только ночью😅опять же, если клиент не против)