过去 4 个月我一直在使用 node.js,现在想增加 tcp 接收和发送缓冲区大小。
我的目的是加快我的应用程序,并且使用缓冲区大小可以提高性能。
我在 google 上搜索过,但没有发现任何有用的东西,除了您可以更改 linux 上的默认套接字缓冲区大小,例如本网站上的示例:
http://www.cyberciti.biz/faq/linux-tcp-tuning/
有什么方法可以更改/设置 node.js io 的 tcp 发送和接收缓冲区大小?
过去 4 个月我一直在使用 node.js,现在想增加 tcp 接收和发送缓冲区大小。
我的目的是加快我的应用程序,并且使用缓冲区大小可以提高性能。
我在 google 上搜索过,但没有发现任何有用的东西,除了您可以更改 linux 上的默认套接字缓冲区大小,例如本网站上的示例:
http://www.cyberciti.biz/faq/linux-tcp-tuning/
有什么方法可以更改/设置 node.js io 的 tcp 发送和接收缓冲区大小?
stream_wrap 有一个分配回调传递给 libuv,该回调传递了分配内存的建议大小以用于接收数据。现在它通过了 64KB 作为建议的大小,并且没有办法改变这个 afaik。
这符合你的问题吗?
我在 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 你知道吗?