我们正在从 Azure Web 应用程序通过 websockets 发送相当大的数据块。一切正常,但由于某种原因,传出缓冲区大小为 4096 字节,这为大数据传输带来了很多开销。
在本地开发人员机器上,这个 IIS/.Net 缓冲区似乎是 16384(或者可能是 16383,因为我在一帧中获得了 1 个字节的流,下一帧是 16383 并继续下去)。客户端中的读取缓冲区 65536 用于到达帧。
所有代码都是用 .NET 编写的,因此发送方只是创建一个大型 ArraySegment 并使用 ClientWebSocket.SendAsync 发送它,这对于实际决定它的发送方式来说非常重要。
我的问题是,是否可以更改 Azure Web App 上的帧/缓冲区的大小?
显然,可以在操作系统或 IIS 级别(http.sys?)上更改它,因为我们的 Windows 10 开发机器有不同的发送缓冲区,但我真的找不到在哪里以及如何。