繁体   English   中英

asp.net WCF服务速度慢…会禁用asp.net应用程序回收帮助吗?

[英]asp.net WCF service slow… will disabling asp.net app recycling help?

我有一个WCF服务,需要一定的响应时间(不到1分钟)。

我的问题是,服务每隔一段时间(最经常在早上)需要很长时间做出响应(有时超过2分钟)。

我认为这是因为该应用程序已经回收,并且第一次运行必须重新编译。

还有其他原因可能会发生这种情况吗?

是否可以关闭应用程序回收? 如果是这样,是否会引起任何副作用或不稳定性? 我假设一定有理由将asp.net应用程序设置为可回收。

还有其他可以提高首次运行性能的措施吗?

是的,您可以防止AppPool回收。 另一种选择是创建一个持续活动的作业,以不断对服务进行ping操作,以防止工作进程进入休眠状态。

基本上,以下规则决定何时回收或卸载应用程序:

  1. 在达到“应用程序池回收”时间之后-默认情况下,我认为这是每29个小时。
  2. 最后一次申请请求之后的设定时间。

使用保持活动来ping服务将解决2,然后您只需要处理1。

根据您的IIS版本,配置此方法的方式略有不同。

  1. 对于IIS 6
  2. 对于IIS 7

我认为空闲超时通常默认为“无限”,但可以通过配置文件的processModel元素(idleTimeout属性)进行配置。

至于初次运行的性能-不看您的应用程序就很难说,您是否在它上面运行了DotTrace或其他分析器?

在第一次加载中,您是否进行了大量的密集查找和缓存数据? 这些可以推迟吗?

您未排除的所有内容都可能导致性能问题。 由于您还没有排除任何问题,因此可能完全由任何原因引起。

可能是一个愚蠢的主意:您是否可以安排控制台应用程序在早上5:30进行服务,这样该请求将花费很长时间才能运行,并且以后访问的常规用户不会遇到此问题?

当然-它没有解决根本原因,但是暂时来说,这可能是一个有用的解决方法-不?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM