【发布时间】:2011-02-07 21:26:40
【问题描述】:
我在 IIS 上部署了一个 wcf 服务,使用 basicHttpBinding 和 aspNetCompatibilityEnabled=true
我还有一个测试客户端,它同时调用多个服务功能。为了检查客户端和服务器上服务调用的性能,我计算了在客户端(在代理代码中)和服务器上完成服务请求所需的平均时间。
经过 8 小时的测试(服务器和客户端在同一台机器上),我知道客户端的平均响应时间约为 34 毫秒,而服务器上的平均执行时间约为 3 毫秒,因此差异为 31 毫秒。
我想知道为什么每次通话都需要 31 毫秒,这是合理的吗?我怎样才能减少这种情况?
编辑:在“Marc Gravell”的回答后
- 在 IIS 中启用 SSL,在 WCF 级别没有其他安全性
- 服务执行次要的数据库操作,您可以通过给定的 3 毫秒平均执行时间来估算操作成本。 (如果这就是你所说的有效载荷)
- 没有 Blob,没有 MTOM
- 发送和接收消息不大,可能在 100 字节到 500 字节左右,简单消息合约
- 如果需要其他任何诊断信息,请告诉我
- 其实我更关心建立 TCP 连接的成本,如果你能解释 WCF 如何完成 TCP 连接工作,以及它对不同的可用绑定是否有任何差异
【问题讨论】: