Тесты нагрузки / производительности (HTTP и Web) - PullRequest
3 голосов
/ 03 октября 2011

Я ищу инструмент для нагрузочного тестирования, основные функции которого мне нужны:

  1. Распределение (очень важно) - мне нужно иметь возможность выполнять что-то вроде 20 000 - 30 000 запросов в секунду (и более), поэтому одной машины недостаточно. Он должен иметь возможность общаться на Amazon EC2 (например, jMeter, не может сделать это)
  2. Сбор данных - не имеет значения, может ли он создавать графики или сложные данные или нет, но я должен быть в состоянии узнать, какова была пропускная способность клиента и сервера, сколько ошибок произошло и т. Д. Так как он будет работать на нескольких компьютерах данные должны собираться самим инструментом (снова это делает jMeter, но у него много проблем), я стараюсь избегать извлечения данных с разных машин и объединения их «вручную».
  3. Приятно иметь графики или более сложные данные (например: http://code.google.com/p/multi-mechanize/),, но если инструмент не предоставляет их, я смогу получить эти данные из журналов тестов.

Я не нашел хороших отзывов об инструментах нагрузочного тестирования (и поэтому я спрашиваю здесь), и в настоящее время я хочу проверить главный инструмент Grinder , если вы работал с хорошими инструментами, пожалуйста, поделитесь:)

Я работал с jMeter и решил поискать лучший инструмент. jMeter старый, он работает со старыми протоколами (поэтому я не могу работать с ним, распространяемым в EC2), с ним медленно и сложно работать, а его графики делают его очень медленным.

Кстати, это не обязательно должен быть бесплатный / открытый исходный код, если он стоит до десятков или сотен долларов - это нормально.

Спасибо.

Ответы [ 6 ]

1 голос
/ 17 февраля 2016

Locust - это отличный инструмент для нагрузочного тестирования, который отвечает всем требованиям OP.

Что касается требований OP, некоторые функции Locust:

  • может работать в режиме «ведущий / ведомый» для генерации распределенной нагрузки
  • предоставляет вам доступ к необработанным и обобщенным данным результатов в простых / разбираемых форматах
  • прекрасно интегрируется с графитом / графаном для ваших нужд визуализации

Locust с открытым исходным кодом и написан на Python ... виртуальные пользователи также написаны на коде Python.Мощь и простота использования Python для разработки сложных рабочих нагрузок действительно хороши (сравните это с неуклюжим декларативным стилем XML в JMeter).

Разработка Locust размещена на Github и имеет несколько активных коммиттеров.


на веб-сайте Locust, слоган:

«Определите поведение пользователя с помощью кода Python и наполняйте вашу систему миллионами одновременных пользователей».


снимок экрана дополнительного веб-интерфейса:

Screenshot of Locust Web UI


Примечание. Я работал свсе остальные инструменты рекомендуются в других ответах, и саранча намного превосходит

0 голосов
/ 28 августа 2013

На самом деле мы используем Amazon EC2 для запуска теста облачной нагрузки с JMeter.Это не так сложно, как вы думаете.Преимущество JMeter перед двумя инструментами (Grinder, Tsung) заключается в документации и сообществе.

jMeter старый, он работает со старыми протоколами (поэтому я не могу работать с ним, распространяемым на EC2)

Последняя ночная сборка JMeter была вчера, и это означает, что онне так стар, как вы думаете.Вы можете проверить это здесь .EC2 использует WSDL для вызовов API, это общий протокол, не новый, вот Документация по EC2 API .

0 голосов
/ 04 апреля 2013

Для такого количества запросов я бы посмотрел Tsung, хотя (аналогично Jmeter) это декларативный XML с точки зрения спецификации нагрузки. Если вам удобнее программировать веб-драйвер, то стоит обратить внимание на Grinder (оба с открытым исходным кодом).

0 голосов
/ 16 июля 2012

Вы можете использовать WebLOAD .

Я встроил поддержку автоматического запуска загрузочных машин на EC2, собирает все данные и обладает хорошими возможностями отчетности.

0 голосов
/ 25 марта 2012

В вопросе говорится, что невозможно использовать JMeter на Amazon ec2 [пункт 1.]. Это не так, это возможно , но это сложно, потому что JMeter использует RMI для связи, и вам приходится играть с туннелями и менять порты, чтобы это работало.

Другая проблема JMeter, о которой упоминалось [пункт 2], заключается в том, что у него есть «много проблем» при сортировке данных. Я подозреваю, что это относится к потенциальному узкому месту, когда все данные от нескольких клиентов записываются в одно место. Если это так, то его проблема, как правило, решается с помощью «пакетного» или «статистического» режима в свойствах, плюс последняя версия JMeter, 2.6, имеет достижения в этой области.

Тем не менее, я написал скрипт , который решает обе эти проблемы и значительно облегчает запуск JMeter на ec2.

0 голосов
/ 09 февраля 2012

Тесты веб-производительности и нагрузочные тесты Visual Studio звучат здесь как нельзя лучше. Если вы получаете лицензию на Visual Studio Ultimate, а затем лицензию на Visual Studio Controller / Agents, контроллеры и агенты обрабатывают распределение нагрузки. Все это очень хорошо задокументировано и довольно легко настраивается. Он имеет некоторые стандартные отчеты, которые могут удовлетворить ваши потребности, но также имеет возможность экспортировать в Excel, где вы можете создавать любые пользовательские отчеты или графики, используя сводные таблицы (или внешние инструменты, такие как PowerPivot).

Вот краткое справочное руководство: http://vsptqrg.codeplex.com/ и более подробная информация доступна по всему Интернету.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...