Главная
» СЕТЕВОЙ АДМИНИСТРАТОР
»
8 лучших инструментов для тестирования производительности и нагрузки сетей и приложений
8 лучших инструментов для тестирования производительности и нагрузки сетей и приложений
Выбор подходящих инструментов для тестирования производительности и нагрузки зависит от того, что именно вам нужно измерить. Тестирование канала связи, сгенерированный трафик WAN и имитация действий пользователей API отвечают на разные вопросы. Для сетей измеряйте пропускную способность, задержку, потерю пакетов и дрожание; для приложений отслеживайте время отклика, скорость запросов и ошибки по мере роста нагрузки.
Проведите тестирование в контролируемой, авторизованной среде: генерируемый трафик может ухудшить качество обслуживания. Запишите параметры тестирования, путь и конкурирующий трафик, чтобы вы могли интерпретировать результаты.
Концептуальный алгоритм тестирования сети с измерениями пропускной способности и задержки.
Выберите инструмент для слоя, который вы тестируете.
Пропускная способность — это объем передаваемых данных за определенный период времени; она отличается от номинальной пропускной способности канала. Задержка измеряет время передачи или отклика, а дрожание — это изменение задержки пакетов. Генераторы трафика создают нагрузку, но не измеряют поведение приложения. Инструменты веб-нагрузки моделируют запросы, а не необработанный трафик Ethernet.
Восемь инструментов для тестирования производительности и нагрузки
1. iPerf3: измерение пропускной способности IP-сети
iPerf3 — это бесплатный инструмент командной строки, поддерживаемый ESnet в Национальной лаборатории имени Лоуренса в Беркли. Запустите сервер на одной конечной точке и клиент на другой, чтобы измерить достижимую пропускную способность IP-сети. Настройте длительность, параллельные потоки и протокол TCP или UDP; результаты включают пропускную способность и потери UDP. Это надежная первая проверка для локальной сети, VPN или WAN, но она не моделирует сеансы приложений или скорость диска.
2. Тест скорости локальной сети: проверка производительности передачи файлов.
Тест скорости локальной сети измеряет скорость передачи данных в общую папку, что позволяет легко сопоставить результаты с копированием файлов на NAS. Этот тест учитывает накладные расходы на хранение и совместное использование файлов, а также сеть. Totusoft также предлагает LAN Speed Test Server, который может тестировать скорость передачи данных между компьютерами, чтобы уменьшить узкие места, связанные с дисковым хранилищем. В настоящее время производитель указывает версию 4.4 для Windows и macOS; его облегченный режим работает, но некоторые расширенные функции отключены.
3. SolarWinds WAN Killer: генерация контролируемого WAN-трафика
WAN Killer , входящий в состав набора инструментов SolarWinds Engineer's Toolset for the Desktop, генерирует случайный трафик для выбранного целевого объекта. Можно задать протокол, порт, размер пакета, пропускную способность канала и процент нагрузки. Это помогает проверить поведение канала или приоритезацию трафика под нагрузкой; для оценки влияния используйте отдельный монитор. Этот компонент для Windows не является комплексным пользовательским тестированием.
4. Ostinato: профили трафика на уровне пакетов.
Ostinato предоставляет графический контроллер и агенты генерации трафика для создания нескольких потоков уровня 2 и уровня 3, воспроизведения захваченных пакетов и изменения скорости отправки. Он полезен для проверки сетевых устройств, обработки протоколов и создания пользовательских миксов трафика. Набор функций зависит от лицензии, и производитель отмечает, что соединения TCP с сохранением состояния не поддерживаются, поэтому используйте другой инструмент, если ваше тестирование зависит от реалистичных сеансов работы с приложениями TCP.
5. Cisco TRex: стресс-тестирование сетевых устройств в масштабе предприятия
Cisco TRex — это генератор трафика с открытым исходным кодом на основе DPDK, имеющий режимы без сохранения состояния и с сохранением состояния. Он предназначен для инженеров, тестирующих маршрутизаторы, межсетевые экраны и другое сетевое оборудование с большими объемами трафика. Настройка более сложная, чем у утилит для измерения пропускной способности, поэтому TRex подходит для специализированной лаборатории с совместимым оборудованием и заранее определенным планом тестирования.
Концептуальное нагрузочное тестирование приложения: имитируемый спрос достигает сервиса, при этом отслеживаются ключевые результаты.
6. Apache JMeter: нагрузочное тестирование сервисов по распространенным протоколам.
Apache JMeter — это приложение с открытым исходным кодом для тестирования веб-сервисов, API, баз данных, систем обмена сообщениями и других сервисов. Его тестовые планы могут моделировать запросы, данные, утверждения и параллелизм пользователей. JMeter работает на уровне протокола; он не выполняет JavaScript, как браузер. Apache рекомендует запускать нагрузочные тесты в режиме командной строки, а не запускать ресурсоемкие тесты из графического интерфейса, а затем просматривать полученные результаты.
7. Grafana k6: рабочие нагрузки API скриптов и ограничения производительности
Grafana k6 — это инструмент для тестирования производительности, основанный на подходе «сначала код», чьи скрипты на JavaScript определяют запросы, сценарии и пороговые значения. Сценарии моделируют различные модели нагрузки, а пороговые значения преобразуют такие метрики, как длительность запроса, в критерии прохождения/непрохождения, которые можно запускать в CI. Выбирайте k6, если планы тестирования должны выполняться вместе с кодом приложения, и вам нужны повторяемые проверки. Убедитесь, что скрипт отражает реальное поведение пользователя, прежде чем рассматривать его результаты как прогноз для производственной среды.
8. Wireshark: анализ того, что произошло по каналу связи.
Wireshark захватывает и анализирует пакеты; он не генерирует нагрузку и не предоставляет автономных тестов производительности. Используйте его в паре с iPerf3, генератором трафика, или тестом приложений для проверки повторных передач, обмена протоколами и синхронизации пакетов. Фильтры захвата ограничивают объем записываемого контента, а фильтры отображения сужают область видимости после захвата. Выберите подходящий сетевой интерфейс и точку захвата, и помните, что для захвата в реальном времени могут потребоваться повышенные права доступа.
Концептуальный подход к анализу трафика, генерируемого во время тестирования, на основе данных, полученных путем захвата пакетов.
Быстрый выбор
Измерьте пропускную способность канала связи: начните с iPerf3; используйте LAN Speed Test, если важна производительность копирования файлов.
Создавайте сетевой трафик: используйте WAN Killer для простой контролируемой нагрузки или Ostinato и TRex для создания пользовательских профилей пакетов.
Проведите нагрузочное тестирование приложения или API: сравните визуальный подход JMeter к составлению плана тестирования с подходом k6, основанным на коде.
Исследуйте симптомы: запишите данные с помощью Wireshark во время выполнения воспроизводимого теста.
Для получения сопоставимых результатов запишите конечные точки, продолжительность, протокол и одновременный трафик. Повторите тот же сценарий после внесения изменений, отслеживая при этом перегрузку сети, сервера, хранилища или клиентских устройств.