我正在测试我的nodeJS本地主机服务器,我使用炮兵工具测试服务器上的负载。因此,这里我只想测试服务器的并发级别,比如服务器可以并发处理多少请求。请看下面的代码和炮兵配置文件。
我的nodeJS代码-
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.但是在这里,我想知道炮兵如何给出成功的结果,以及服务器如何能够处理10000次请求/秒,尽管每个请求都需要10秒才能发送响应(我已经将超时设置为10秒)
炮兵日志-

发布于 2018-08-13 20:49:46
你分享的截图,上面的结果,在我看来是合理的。您正在尝试在测试的1秒期间发送10,000个请求,而您的客户端、服务器、网络以及其他因素(部分或总计)支持每秒526次请求,因此测试的持续时间为19秒钟。与预期一样,您的响应时间都略大于10秒,这是因为在快速服务器配置中指定的超时时间和相对微不足道的处理/有效负载。你是希望看到整个测试在10秒钟内完成(~10,000 RPS)还是类似的?
https://stackoverflow.com/questions/51009711
复制相似问题