我使用node作为http服务器,代码如下:
http.createServer(function(req, res) {}).listen(8181);
我正在寻找一种在同一进程中监视节点js http服务器的简单方法。对我来说,拥有一个只能输出当前资源使用和连接数为json的函数就足够了。目前我不需要深度测量或实时性能监控。
节点http服务器的关键性能指标是什么?是否可以从节点获取它们?如果有,怎么样? 你如何看待愚蠢的kpi:
只需知道获取数据需要哪些变量/函数?
谢谢我真的很感谢你的帮助
答案 0 :(得分:12)
您可以使用NodeJS的内置功能获取连接量。检查getConnections。贝娄如何使用它的例子:
var server = http.createServer(app);
server.getConnections(function(error, count) {
console.log(count);
});
我希望这就是你要找的东西:)
答案 1 :(得分:1)
你需要这样的东西:
var count = 0;
http.createServer(function(req, res) {
count++;
res.on('finish', function () {
//setTimeout(function () {
count--;
//}, 60000);
}).on('close', function () {
count--;
});
}).listen(8181);
使用setTimeout()
,您可以在最后1分钟内获得有效连接。
请参阅http://nodejs.org/api/os.html#os_os_cpus了解CPU使用情况
请参阅http://nodejs.org/api/process.html#process_process_memoryusage了解内存使用情况
答案 2 :(得分:0)
scribbles是我创建的日志记录模块。
您可以直接进入项目并获得 CPU , Mem 和 Net ,以及其他一些方便的标记和指标
要使用:
const scribbles = require('scribbles');
scribbles.config({
dataOut:console.log
})
setInterval(function(){
scribbles.status();
}, 5000);
// This will give you a performance snapshot every 5 seconds.
您会得到:
网络:网络信息
状态:服务状态。例如“向上”,“阻止”