Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iis 7 第一次呼叫的WCF性能缓慢_Iis 7_Performance - Fatal编程技术网

Iis 7 第一次呼叫的WCF性能缓慢

Iis 7 第一次呼叫的WCF性能缓慢,iis-7,performance,Iis 7,Performance,我在IIS7上安装了WCF服务。我注意到第一次打电话给我的服务总是很慢。随后的呼叫速度更快,而且可以接受 如果一段时间内没有呼叫该服务,它将再次进入睡眠模式。在此之后,下一次通话需要很长时间 这个问题有什么补救办法吗?这是因为IIS上的进程管理。当某段时间内没有调用时,IIS释放资源并停止进程。 这就是为什么您可以注意到第一个请求和长时间延迟后的请求都很慢。因为当第一个请求或经过长时间的静默后,IIS会从头开始加载所有内容。JIT编译器运行等 另请注意: 当您在IIS上托管WCF服务时,WCF服

我在IIS7上安装了WCF服务。我注意到第一次打电话给我的服务总是很慢。随后的呼叫速度更快,而且可以接受

如果一段时间内没有呼叫该服务,它将再次进入睡眠模式。在此之后,下一次通话需要很长时间


这个问题有什么补救办法吗?

这是因为IIS上的进程管理。当某段时间内没有调用时,IIS释放资源并停止进程。 这就是为什么您可以注意到第一个请求和长时间延迟后的请求都很慢。因为当第一个请求或经过长时间的静默后,IIS会从头开始加载所有内容。JIT编译器运行等

另请注意: 当您在IIS上托管WCF服务时,WCF服务将享受ASP.NET应用程序的所有功能。您必须了解这些特性,因为它们可能会在服务世界中导致意外行为。其中一个主要特征是应用程序回收,包括应用程序域回收和流程回收。通过IIS管理控制台,您可以在希望进行回收时配置不同的规则。您可以在内存、时间和已处理请求的数量上设置某些阈值。当IIS回收工作进程时,工作进程中的所有应用程序域也将被回收

如果需要自动启动:Windows服务控制管理器允许您将启动类型设置为自动,以便Windows启动后,服务将立即启动,而无需在计算机上进行交互式登录。因此,您可以使用Windows服务作为主机


更多详细信息,您可以登录

还有另一种方法可以让它变得更好。我们有一些scehduled进程,它每5分钟就发出一次非常轻的“获取”请求,让所有服务器保持“热”状态(通过加载大多数必需的DLL等),这样用户体验就会更好


<> P>我同意这不是一个傻瓜证明的方法,但是除了增加IIS中的循环设置之外,你仍然可以考虑。

谢谢Incognito关于答案和链接。关于接受率,我之前的问题没有得到任何解决方案,这有助于我获得0%的接受率ratio@Sharjeel同意,我真的注意到:)。还可以通过nagios等工具用于健康检查。