【问题标题】:How to limit node.js bandwidth?如何限制 node.js 带宽?
【发布时间】:2013-07-01 20:27:48
【问题描述】:

是否可以限制某个 node.js 进程的带宽?看来socket数据上的pause/resume实际上并没有影响下载速度。

我也尝试过涓流但无济于事:trickle -d 1 -u 1 node band.js,显示与没有涓流相同的速度。

【问题讨论】:

  • 我同意@Mustafa 的观点,即您可能希望使用操作系统级别的实用程序来执行此操作,而不是使用 node.js 程序中的代码。尝试向超级用户询问您为什么不能涓涓细流地工作。这对我来说似乎是一种可靠的方法。

标签: node.js bandwidth


【解决方案1】:

我也有同样的问题。我在 github 项目 libuv 上发布了一个问题,它是 Node.js 事件系统的核心,因为我相信这就是为什么涓流不起作用的原因。 (https://github.com/joyent/libuv/issues/844)

感谢bnoordhuis的回复,trickle无法工作的原因是libuv使用system_call直接使用系统调用,而不是通过调用glibc。但是,trickle 仅包装 glibc 函数以添加带宽限制支持。

我还没有找到完美的解决方案,但你可以试试这些:

  1. pfSense:基于 freebsd 的独立防火墙,支持带宽限制
  2. netbrake:类似trickle,使用Node.js,但不准确,需要同时限制上传和下载带宽
  3. trickle:如果你想做一些实验,你可以尝试在客户端使用trickle,因为trickle是和curl一起工作的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-26
    • 2021-03-27
    • 1970-01-01
    • 1970-01-01
    • 2010-09-28
    • 1970-01-01
    • 2015-06-26
    • 1970-01-01
    相关资源
    最近更新 更多