0
我最近調試性能問題與我如何使用SslStream。SslStream緩慢取決於BufferedStream的包裝
客戶端是C#/。NET和具有如下流配置
- 原始套接字/ NetStream的
- 通過BufferedStream裹
- 裹通過SslStream
- 通過 「協議」 流裹(其發送字節/整數/字符串等)
從AC發送數據時,我看到極其緩慢性能在服務器上,在互聯網上,需要很長時間才能在客戶端對信息進行序列化。
刪除SSL流並且連接加速到預期的級別。
然後,我改變上述流配置爲..
- 原始套接字/ NetStream的
- 通過SslStream裹
- 通過BufferedStream <裹 - 移動此
- 裹通過 「協議」流(發送字節/整數/字符串等)
並且連接加速到expecte d水平。
有人可以解釋爲什麼改變流配置有助於提高性能嗎?特別是當我測試原始配置時,客戶端與服務器在同一臺機器上運行速度非常快?
謝謝,這是有道理的。 SslStream沒有內部緩衝區的情況下,它會加密併發送你每次調用write()時給它的東西嗎?另外我不確定我完全明白爲什麼速度方面,當客戶端與服務器在同一臺機器上時,它是可以的。 – 2013-02-19 20:00:04
@MikeQ SSLStream不知道你打算寫多少數據,所以它會將你傳遞給它的每一塊文件分別發送給它。至於本地和遠程系統的速度 - 它是針對具體實現的,所以人們只能猜測。 – 2013-02-20 07:39:30