是否可以限制某个node.js进程的带宽?看来套接字数据上的pause
/resume
实际上并不影响下载速度。
我也尝试了trickle,但没有成功:trickle -d 1 -u 1 node band.js
,显示的速度与没有trickle时相同。
最佳答案
我也有同样的问题。我在github项目libuv上发布了一个问题,它是Node.js事件系统的核心,因为我相信这就是trickle不起作用的原因。 ( https://github.com/joyent/libuv/issues/844 )
感谢 bnoordhuis 的回复,trickle 无法工作的原因是 libuv 使用 system_call 直接使用系统调用,而不是通过调用 glibc。但是,trickle 仅包装 glibc 函数以添加带宽限制支持。
我还没有找到完美的解决方案,但你可以尝试这些:
- pfSense:基于 freebsd 的独立防火墙,支持带宽限制
- netbrake:与trickle类似,与Node.js配合使用,但不准确,需要同时限制上传和下载带宽
- trickle:如果你想做一些实验,你可以尝试在客户端使用trickle,因为trickle是与curl一起使用的
关于node.js - 如何限制node.js带宽?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14508348/