Инструмент NodeJS Artillery.io, дающий запутанный результат
516 просмотра
1 ответ
Я проводил тестирование своего локального сервера nodeJS и использовал артиллерийский инструмент для тестирования нагрузки на сервер. Итак, здесь я просто хочу проверить уровень параллелизма сервера, например, сколько запросов сервер может обрабатывать одновременно. Пожалуйста, посмотрите на приведенный ниже код и файл конфигурации артиллерии.
Мой код узла JS -
const express = require('express');
const app = express();
app.get('/', (req, res) => {
// I've used the 5 second delay to make the proper async case
setTimeout(() => res.send('Welcome node!!'), 10000);
});
const server = app.listen(process.env.PORT || 3000, () => {
const host = server.address().address
const port = server.address().port
console.log("Example app listening at http://localhost", host, port)
})
Конфигурационный файл артиллерии -
{
"config": {
"target": "http://localhost:3000",
"phases": [{
"duration": 1,
"arrivalRate": 10000
}]
},
"scenarios": [{
"flow": [{
"get" : {"url": "/"}
}]
}]
}
In short, Using artillery, I'm sending the 1000 requests/second.
Но здесь мне интересно, как Artillery дает успешный результат и как сервер может обрабатывать 10000 запросов в секунду, несмотря на то, что каждый запрос занимает 10 секунд для отправки ответа (я установил таймаут в 10 секунд)
Артиллерийский журнал -
Автор: Shubham Источник Размещён: 23.07.2019 11:29Ответы (1)
1 плюс
Результаты на скриншоте, которым вы поделились выше, выглядят для меня разумными. Вы пытаетесь отправить 10 000 запросов в течение 1-секундной продолжительности теста, в то время как ваш клиент, сервер, сеть и, возможно, другие факторы, частично или в совокупности, поддерживают ~ 526 запросов в секунду (RPS), следовательно, ~ 19- вторая продолжительность вашего теста. Время вашего отклика немного больше 10 секунд, как и ожидалось, учитывая время ожидания, указанное в конфигурации вашего экспресс-сервера, и относительно незначительную обработку / полезную нагрузку. Вы надеялись увидеть полный тест всего за 10 секунд (~ 10000 RPS) или что-то подобное?
Автор: Mark Drury Размещён: 13.08.2018 08:49Вопросы из категории :
- node.js Удалить пустые элементы из массива в Javascript
- node.js Как мне избежать строки для команды оболочки в узле?
- node.js Могу ли я использовать jQuery с Node.js?
- node.js Как отлаживать приложения Node.js?
- node.js Как автоматически перезагрузить файлы в Node.js?
- node.js Запись файлов в Node.js
- load-testing JMeter: Как записать HTTPS-трафик?
- load-testing Тестирование с помощью JMeter: как выполнять N запросов в секунду
- load-testing Умышленное замедление загрузки страницы HTML / PHP для тестирования
- load-testing Тестирование Selenium без браузера
- load-testing Нагрузочное тестирование и Tsung - работает ли на ec2?
- load-testing Преобразование таблицы ADT (Advantage) в Advantange Data Architect в CSV
- artillery Как частично ответить на ответ в артиллерийском инструменте?
- artillery Как создать случайную строку или число в сценарии нагрузочного тестирования артиллерии?
- artillery Как добавить паузу в поток артиллерии?
- artillery нагрузочный тест сокета IO с использованием артиллерии
- artillery Нагрузка / стресс-тестирование углового приложения
- artillery Артиллерийская NodeJS Проблема производительности кластера