如何在nodejs中使cpu使用率达到100%

时间:2015-01-12 12:03:46

标签: node.js cpu-usage node-modules

我有一个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();
});

关于如何使用该模块的任何想法都会非常有用。

1 个答案:

答案 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);