0

过去 4 个月我一直在使用 node.js,现在想增加 tcp 接收和发送缓冲区大小。

我的目的是加快我的应用程序,并且使用缓冲区大小可以提高性能。

我在 google 上搜索过,但没有发现任何有用的东西,除了您可以更改 linux 上的默认套接字缓冲区大小,例如本网站上的示例:

http://www.cyberciti.biz/faq/linux-tcp-tuning/

有什么方法可以更改/设置 node.js io 的 tcp 发送和接收缓冲区大小?

4

2 回答 2

0

stream_wrap 有一个分配回调传递给 libuv,该回调传递了分配内存的建议大小以用于接收数据。现在它通过了 64KB 作为建议的大小,并且没有办法改变这个 afaik。

这符合你的问题吗?

于 2013-07-01T09:11:10.747 回答
-1

我在 git 上找到了 stream_wrap:
git... src/stream_wrap src 文件

如果您在 node.js src 文件夹中导航 src/stream_wrap.cc 并查找以下代码:

    // If less than 64kb is remaining on the slab allocate a new one.
    if (SLAB_SIZE - slab_used < 64 * 1024) {
      slab = NewSlab(global, wrap->object_);
    } else {
      wrap->object_->SetHiddenValue(slab_sym, slab_obj);
    }
} 

然后你也许可以改变大小。

@Trev Norris 你知道吗?

于 2013-07-01T10:49:48.410 回答