我有一个开箱即用的HTTP绑定的WCF服务。它接受一个数据对象,在该数据对象上运行一些计算,然后返回该对象。
单个通话大约需要1.5秒,无问题。然而,并发调用可能会导致完成时间出现巨大的峰值(10个并发调用最多可能需要60秒)。即使我一个接一个地运行多个调用,我看到时间点从1.5跳到超过5秒。
我目前将服务配置为单一上下文模式和多种并发模式。但我尝试过其他组合无济于事。
是否有人能够为这些看似随机的峰值提供可能的原因?
由于
答案 0 :(得分:0)
问题是由每次调用执行数据库读取引起的,只需要执行一次。
我添加了一项检查,以确保只有在尚未加载数据时才执行数据库读取,这解决了问题。