首页 > 解决方案 > 节点快递请求队列长度

问题描述

当大量请求同时到达快速服务器路由时,有没有办法找到 Web 请求队列长度?

我可以使用来自 Unix 的侦听器统计信息,但我正在寻找一种更原生的方式来做到这一点。

标签: node.jsexpress

解决方案


这很容易实现。在你的程序中的某个地方,你创建了一个这样的 HTTP 服务器:

const server = http.createServer(app);

您只需要跟踪传入的连接并计算其中有多少是同时打开的。我想你将该号码存储在app.connectionsN字段中

app.connectionsN = 0;

const server = http.createServer(app);

server.on('connection', function(socket) {
  // Increase connections count on newly estabilished connection
  app.connectionsN ++;

  socket.on('close', function() {
    // Decrease connections count on closing the connection
    app.connectionsN --;
  });
});

推荐阅读