Node.js 如何监视/计算NodeJS服务器的带宽使用情况?

Node.js 如何监视/计算NodeJS服务器的带宽使用情况?,node.js,video-streaming,socket.io,bandwidth,Node.js,Video Streaming,Socket.io,Bandwidth,好的,在一些空闲时间,我开发了一个nodejs/socketio应用程序,用于流式传输视频,但我想知道它运行的是什么类型的统计数据,我的活动监视器正在运行,目前有两个用户相互发送数据流,统计数据如下: %CPU: 6.0 Threads: 5 Real Memory: 59.6mb 如何计算服务器上发送的总MB/GB数据?我的建议是在应用程序中添加一个计数器 您应该能够添加如下内容: socket.on('message',函数(message,callback){myCounter+=siz

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

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

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

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

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

socket.on('message',函数(message,callback){myCounter+=sizeof(message);})


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

以字节为单位获取字符串的大小很容易:
Buffer.from(string,'utf8')。bytellength
,所以只要将所有字节相加,就可以得到使用的带宽。事实上,这就是我在计算有多少数据进入系统时使用的方法。如果消息被压缩,这就不起作用了。您正在读取已未压缩的消息,如果消息已压缩,则这不是真正的度量。