【发布时间】:2014-10-21 02:39:05
【问题描述】:
过去几周我一直在尝试找出这个问题的根本原因,但到目前为止还没有成功。
目前我们正在使用 powershell 的脚本测试我们的 wcf 服务。此脚本的行为类似于客户端并将输入 xml 查询传递给 svc 服务。为了复制高调用频率,我们在 15 个不同的文件夹中使用了相同的脚本,并且都同时调用服务。
所以在 15 分钟内,我们可能会收到 1000 次调用,服务将处理这些查询并返回响应 xml。
每个呼叫的平均持续时间记录为 0.5 秒,但问题在于这 1000 个呼叫中,它们可能是响应时间记录为 7 到 10 秒的几个呼叫。我不知道为什么会出现这些尖峰。如果有任何尖峰,则不会超过 2。
我们的服务实例上下文模式设置为percall,并发是单一的。我尝试增加 web.config 文件中的实例编号。解决不了问题。
<serviceThrottling maxConcurrentCalls="16"
maxConcurrentInstances="2147483647"/>
谁能解释一下这个问题。
【问题讨论】:
-
您记录了尖峰呼叫与正常呼叫之间的时间差吗?由于不活动,可能是 IIS 正在卸载应用程序
-
是的,与日志的时间差显示在 200 毫秒到 900 毫秒左右(正常情况下),但对于这个峰值,它显示了大约 7 秒。根据日志时间条目,在这 15 分钟内有持续的活动,在此期间服务处理了近 1500 到 2000 个呼叫。
标签: c# .net performance wcf wcf-data-services