加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – IIS 7.5 Web应用程序首先请求应用程序池回收非常慢

发布时间:2020-12-15 23:36:24 所属栏目:asp.Net 来源:网络整理
导读:我们的网站在iis 7.5的两台机器上运行 一个工作正常 另一个在应用程序池回收之后如何处理第一个请求需要很长时间.它可能需要超过60秒,这是不可接受的,因为它将被用作我们的生产服务器. 我检查了两个服务器上的应用程序池设置,它们是相同的,两台服务器上的web
我们的网站在iis 7.5的两台机器上运行
一个工作正常

另一个在应用程序池回收之后如何处理第一个请求需要很长时间.它可能需要超过60秒,这是不可接受的,因为它将被用作我们的生产服务器.

我检查了两个服务器上的应用程序池设置,它们是相同的,两台服务器上的webapp版本是一样的.
我已经运行任务管理器和资源监视器,添加查看到机器的连接,当我提出请求,但没有其他的事情,我甚至不显示在日志中的请求,直到其完成.
我真的不知道在同一时间做什么.

是否有任何痕迹的设置,我们可以尝试玩来解决这个问题或找到问题.
这很困惑

编辑:
所以我现在有更多的信息,finall得到失败的请求日志工作(不得不给用户IIS_IUSRS权限),但我有一些日志,看看发生了什么

日志文件中的时间在两秒钟之间.

1. MODULE_PRECONDITION_NOT_MATCH    Name="ScriptModule-4.0",Precondition="managedHandler,runtimeVersionv4.0"            12:09:46.422 
2. VIRTUAL_MODULE_UNRESOLVED        Name="FormsAuthentication",Type="System.Web.Security.FormsAuthenticationModule"     12:12:04.390

你可以看到这两个事件之间需要2分钟以上的时间吗?

解决方法

这有点难以告诉您在其他服务器上发生了什么,但是这里有一个简单的清单,您可能需要重新考虑:

>总是预先编译你的网站,而不是复制它!在部署之前,您可能会获得显着的性能提升编译您的网站:
ASP.NET Precompilation Overview
>当您的web.config中的debug标志为true时,不要运行带有debug =“true”的生产应用程序,运行时在应用程序中使用更多的内存,并且由于启用了一些其他调试路径,代码可以执行很多比较慢
>检查您的Web.config文件,以确保在< trace>中禁用跟踪.部分
> IIS 7.5随附Auto-Start Feature.WAS(Windows Process Activation Service)启动配置为自动启动的所有应用程序池,确保将应用程序池配置为在IIS 7.5 applicationHost.config,check out here中的AlwaysRunning以获取更多详细信息
>查看ASPNET.CONFIG文件,查看两台服务器上的配置是否仍然相同.每个asp.net服务器都可以通过位于framework文件夹根目录下的aspnet.config文件进行配置
>确保您的aspnet.config文件中的代码访问安全性(CAS)的发布者证据设置为false,这可能会在重新启动ASP.NET应用程序池时增加初始页面加载.你可以阅读more about it here.

以下是禁用检查应用程序的CAS发布商策略的方法:

<configuration>
    <runtime>
        <generatePublisherEvidence enabled="false"/>
    </runtime>
</configuration>

>也可能要尝试Application Initialization Module for IIS 7.5,此模块也可用于IIS 8.0可以通过预加载工作进程减少首次请求的响应时间

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读