我最近调试了我如何使用 SslStream 的性能问题。
客户端是 C#/.NET 并且具有以下 Stream 配置
- 原始套接字/NetStream
- 由 BufferedStream 包装
- 由 SslStream 包装
- 由“协议”流包装(发送字节/整数/字符串等)
当我通过互联网将数据从客户端发送到服务器时,我发现性能非常慢,在客户端序列化信息需要很长时间。
删除 SSL 流和连接加速到预期的水平。
然后我将上面的流配置更改为..
- 原始套接字/NetStream
- 由 SslStream 包装
- 由 BufferedStream 包装 <-- 移动了这个
- 由“协议”流包装(发送字节/整数/字符串等)
并且连接加速到了预期的水平。
有人可以解释为什么更改流配置对性能有如此大的帮助吗?特别是当我在与服务器相同的机器上测试客户端的原始配置时,它运行得非常快?