使用SSL,WCF连接速度非常慢

时间:2010-09-29 16:51:41

标签: performance wcf ssl connection

我们有针对不同客户的多种协议运行的WCF服务。大多数工作正常,但是当我们使用SSL时,连接需要很长时间才能完成。打开连接没问题,但关闭非常慢。

最奇怪的行为是,关闭时间与连接上传输的数据量成正比。如果从服务器向客户端发送几个字节,连接几乎会立即关闭,但返回几百行的搜索需要与原始搜索关闭连接所需的时间。关闭时间似乎与传输的数据量成正比。似乎在连接关闭之前,结果会重新传输回服务器进行验证。

几乎从不抛出错误,但连接关闭时间实际上是执行调用所需时间的两倍。

以下是基本设置: 自定义绑定 二进制编码 可靠的会话,Ordered = true 绑定元素是HttpsTransportBindingElement 使用RemoteCertificateValidationCallback

所有代理都是使用ChannelFactory以编程方式构建的。

2 个答案:

答案 0 :(得分:1)

我们发现问题出在ReliableSession上。 ReliableSession尝试验证在下一个连接中发送的所有内容。这听起来是一个好主意,但它基本上没有价值,因为即使我发现了一些没有验证它的东西也为时已晚,无法做任何事情。

底线:ReliableSession不太可靠。

答案 1 :(得分:0)

理论上可能是它在代理关闭时写入日志,并且由于解密而获得额外的命中,或者它不会缓存https结果。

  • 您是否启用了任何WCF日志记录?
  • 关闭代理时CPU是否会出现峰值?
  • 你能检查一下它是否真的向服务器发送了两个请求吗?