我在相当苛刻的环境中使用WCF。我观察到的一种行为是我已经采取的调用冷启动的方式。当我第一次启动一个正在调用服务的客户端时,第一次调用似乎有很多失败。例如,我可以看到第一次说10个电话通过,然后接下来的200个电话全部失败。我正在异步地与服务对话。该服务然后运行并响应正常。我可以看到,这是一个端点(可能)问题而不是操作问题,因为多个不同的操作都会失败。感觉就像有一个锁,端点停止并重新设置,然后很好,但我没有证据支持这一点。WCF冷启动
服务器端跟踪中没有错误。我的客户端日志显示很多下列情况除外:
System.ServiceModel.CommunicationException:服务器未提供有意义的回复;这可能是由于合同不匹配,会话过早关闭或内部服务器错误造成的。
我考虑推行平滑算法拉平服务电话因为往往是他们中的很多在启动时。有没有其他人看过类似的行为?谢谢。
史蒂夫
编辑:该服务是在Windows服务主办。
编辑:谢谢你的评论家伙。
我从一开始就设置各种队列的数字是相当高的。关于如何扩展WCF服务,我有一些很难获得的知识。我允许2048个并发连接。我已经设置了将ListenBackLog等等
我实现了一个平滑的前1000个呼叫,并似乎得到它。这可能与JIT有关,但我对此没有证据。目前,我将离开它,看看它是否会再次出现。
所以,我线斜坡我的电话的速度,使我不会完全意味着什么在前60秒内钻孔。 (前1000个电话需要60秒,然后尽可能快地运行......每秒3-4K个电话)。我确实相信我有某个配置问题。此服务不再使用,我还没有看到此问题再次出现。 – 2009-09-09 18:31:55