Как выполнить нагрузочное тестирование сервера 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 файлами.