Как выполнить нагрузочное тестирование сервера node.js?

Я хочу написать одно веб-приложение с node.js и MongoDB, и у меня есть задача проверить его. Я хотел бы знать, есть ли какие-либо инструменты, такие как JMeter или что-то еще для тестирования нагрузки/напряжения node.js?

ИЗМЕНИТЬ

Мое приложение будет представлять собой приложение для извлечения информации, и клиент ожидает, что извлечение не займет больше 10 секунд для одного документа. В настоящее время у меня есть одно и то же приложение, написанное на С#, но оно не масштабируется до ожиданий клиента. Затем я наткнулся на этот красивый и быстрый node.js. Я думаю, что node.js может мне помочь.

Пожалуйста, просветите!!!

Ответ 1

Попробуйте nodeload: это коллекция модулей node.js для загрузки HTTP-сервисов загрузки.

Как разработчик, вы должны иметь возможность писать нагрузочные тесты и получать информативные отчеты, не изучая другую структуру. Вы должны иметь возможность строить на примере и выборочно использовать части инструмент, который соответствует вашей задаче. Будучи библиотекой, вы можете использовать ее как много или как мало nodeload как имеет смысл, и вы можете создать нагрузку тесты с мощью полного языка программирования. Например, если вам нужно выполнить некоторую функцию с заданной скоростью, просто используйте 'nodeload/loop' и напишите остальное самостоятельно

Просто выяснилось, что этот пакет больше не разрабатывается, поэтому вот несколько активных вилок:

Ответ 2

Почему вы не можете протестировать сервер узлов с JMeter? Для большинства нагрузочных тестов не имеет значения, на каком языке работает ваш сервер, вы просто набираете кучу запросов.

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

Запускает нагрузочный тест для выбранного URL-адреса HTTP или WebSockets. API позволяет легко интегрировать в ваши собственные тесты.

Редактировать:

Этот ответ предоставляет больше возможностей:

Инструменты/методы стресс-тестирования NodeJs [закрыто]

Ответ 3

Попробуйте артиллерию. Вот его особенности, описание которых взято из документации:

  • Несколько протоколов: нагрузочный тест HTTP, WebSocket, Socket.io, Kinesis, HLS и многое другое.
  • Сценарии: поддержка сложных сценариев для тестирования многошаговых взаимодействий в вашем API или веб-приложении (отлично подходит для электронной коммерции, транзакционных API, игровых серверов и т.д.).
  • Нагрузочное тестирование и функциональное тестирование: повторно используйте те же определения сценариев, чтобы запускать тесты производительности или функциональные тесты в своем API или бэкэнде.
  • Метрики производительности: получите подробные метрики производительности (задержка, количество запросов в секунду, параллелизм, пропускная способность).
  • Scriptable: написать собственную логику в JS, используя любой из тысяч полезных модулей npm.
  • Интеграция: встроенная поддержка statsd для отчетов в режиме реального времени (интеграция с Datadog, Librato, InfluxDB и т.д.).
  • Расширяемость: написание пользовательских репортеров, пользовательских плагинов, пользовательских механизмов протоколов и т.д.
  • и больше! HTML отчеты, хороший CLI, параметризация с CSV файлами.