如何监控/计算 NodeJS 服务器的带宽使用情况?

Posted

技术标签:

【中文标题】如何监控/计算 NodeJS 服务器的带宽使用情况?【英文标题】:How to monitor/calculate bandwidth usage of a NodeJS server? 【发布时间】:2012-08-16 14:48:41 【问题描述】:

好的,所以在空闲时间我开发了一个流式传输视频的 nodejs/socketio 应用程序,但我想知道它在运行什么样的统计数据,我正在运行我的活动监视器,目前有 2 个用户互相发送数据流统计如下:

%CPU: 6.0
Threads: 5
Real Memory: 59.6mb

如何计算服务器上发送的总 MB/GB 数据?

【问题讨论】:

【参考方案1】:

我的建议是在您的应用中添加一个计数器。

您应该能够添加如下内容:

socket.on('message', function(message, callback) myCounter += sizeof(message); )

这里的关键是识别您发送的消息sizeof。如果它是一个缓冲区,那么你可以只计算字节数。我不清楚他们在发送 JSON 时使用什么类型的包装。

【讨论】:

以字节为单位获取字符串的大小很容易:Buffer.from(string, 'utf8').byteLength 因此,只需将所有字节相加,您将获得使用多少带宽。实际上,这就是我在 trafikito.com 在计算进入系统的数据量时使用的方法。 如果邮件被压缩,这将不起作用。您正在阅读已经未压缩的消息,如果消息被压缩,这不是真正的衡量标准。

以上是关于如何监控/计算 NodeJS 服务器的带宽使用情况?的主要内容,如果未能解决你的问题,请参考以下文章

如何测量带宽使用情况

如何监控局域网实时流量

Linux系统如何查看服务器带宽及网络使用情况

Linux服务器上监控网络带宽的18个常用命令nload, iftop,iptraf-ng, nethogs, vnstat. nagios

Linux服务器上监控网络带宽的18个常用命令 zz

linux服务器怎么查看当前带宽使用率