【发布时间】:2010-03-01 21:14:40
【问题描述】:
我有一个 ASP .NET Web 应用程序,它在后端与一个 ASMX Web 服务通信。我们统计了一下,初始请求的平均等待时间是 20s。我想知道是否有一种方法可以将 Web 服务发送到预编译的服务器,从而消除编译的需要。
我们还注意到 IIS 倾向于回收其工作线程,这也会导致编译。该过程本身并不经常被访问,但它需要更快。
有什么想法吗?
提前致谢
更新:感谢所有建议,我已经尝试了其中的一些,这就是我发现的。回收时间关闭/修补是危险的,因为我不希望线程只是无所事事。经过进一步检查,该网站正在预编译,所以我的问题是为什么 Web 服务有一个初始启动时间?
现在:倾向于下面的热身脚本建议
更新:正在从另一台机器上的 Web 服务器访问该服务。我们仅发现初始请求存在问题。
【问题讨论】:
-
如果我们可以让它达到不需要编译的地步,除了在我将东西移动到虚拟目录之前,我认为那将是最佳的。这甚至可能吗?
-
如果您预编译,那么您的问题不是 IIS 编译。 Web 应用的启动时间是一回事,编译是另一回事。
标签: asp.net performance web-services iis asmx