我有一个nodejs服务器。我想测试这个服务器中的node-toobusy模块。 我写了一个客户端代码同时命中这个服务器使cpu使用率达到100%,但我仍然无法使该模块工作。 PFB服务器代码
var toobusy = require('toobusy'),
express = require('express');
var app = express();
// middleware which blocks requests when we're too busy app.use(function(req, res, next) {
if (toobusy()) {
res.send(503, "I'm busy right now, sorry."); console.log("hi");
} else {
next();
console.log("hi");
}
});
console.log("hi");
app.get('/', function(req, res) {
// processing the request requires some work!
var i = 0;
while (i < 1e5) i++;
res.send("I counted to " + i);
console.log("hi");
});
var server = app.listen(3005);
process.on('SIGINT', function() {
server.close();
// calling .shutdown allows your process to exit normally toobusy.shutdown();
process.exit();
});
关于如何使用该模块的任何想法都会非常有用。
答案 0 :(得分:1)
您只是在应用启动时检查服务器是否为toobusy()。
请参阅下面的中间件用法:
app.use(function(req, res, next) {
if (toobusy()) {
res.send(503, "I'm busy right now, sorry.");
} else {
next();
}
});
如果当前负载低于最大阈值,这将检查每个进入的请求并仅调用next()。
您还可以使用以下方法设置最大延迟阈值:
toobusy.maxLag(10);