Инструмент NodeJS Artillery.io, дающий запутанный результат - PullRequest
0 голосов
/ 24 июня 2018

Я проводил тестирование моего локального сервера nodeJS и использовал инструмент artillery для проверки нагрузки на сервер.Итак, здесь я просто хочу проверить уровень параллелизма сервера, например, сколько запросов сервер может обрабатывать одновременно.Пожалуйста, взгляните на приведенный ниже код и файл конфигурации артиллерии.

Код моего узла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 секунд)

Артиллерийский журнал -

enter image description here

1 Ответ

0 голосов
/ 13 августа 2018

Результаты на скриншоте, которым вы поделились выше, выглядят для меня разумными.Вы пытаетесь отправить 10 000 запросов в течение 1-секундной продолжительности теста, в то время как ваш клиент, сервер, сеть и, возможно, другие факторы, частично или в совокупности, поддерживают ~ 526 запросов в секунду (RPS), следовательно, ~ 19-вторая продолжительность вашего теста.Время вашего отклика немного больше 10 секунд, как и ожидалось, учитывая время ожидания, указанное в конфигурации вашего экспресс-сервера, и относительно незначительную обработку / полезную нагрузку.Вы надеялись увидеть, что весь тест будет завершен всего за 10 секунд (~ 10000 RPS) или что-то подобное?

...