Я проводил тестирование моего локального сервера 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 секунд)
Артиллерийский журнал -