如何监控/计算 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服务器上监控网络带宽的18个常用命令nload, iftop,iptraf-ng, nethogs, vnstat. nagios