[英]IIS 7.5 web application first request after app-pool recycle very slow
我們的網站在兩台機器上運行iis 7.5 One工作正常。
另一個如何在應用程序池回收后處理第一個請求需要很長時間。 它可能需要超過60秒,因為它將用作我們的生產服務器,所以這是不易察覺的。
我已經檢查了兩台服務器上的應用程序池設置,它們是相同的,兩台服務器上的webapp版本是相同的。 我運行任務管理器和資源監視器,在我發出請求時添加查看與機器的連接,但沒有其他任何事情發生,iis甚至沒有在日志中顯示請求,直到完成。 我真的不知道它在做什么。
是否有任何設置痕跡我們可以嘗試解決此問題或找到問題。 這非常令人費解。
編輯:所以我現在有更多的信息,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預編譯概述
當web.config中的debug標志為true時,不要運行啟用了debug="true"
的生產應用程序。運行時在應用程序中使用了更多的內存,並且由於啟用了一些額外的調試路徑,代碼執行速度會慢得多
檢查Web.config文件以確保在<trace>
部分中禁用<trace>
IIS 7.5附帶自動啟動功能 。 WAS(Windows進程激活服務)啟動配置為自動啟動的所有應用程序池,確保在IIS 7.5 applicationHost.config
AlwaysRunning
應用程序池配置為AlwaysRunning
, 請在此處查看更多詳細信息
查看ASPNET.CONFIG
文件以查看兩台服務器上的配置是否仍然相同。 每個asp.net服務器都可以通過位於framework文件夾根目錄下的aspnet.config
文件進行配置
確保aspnet.config文件中的代碼訪問安全性(CAS)的發布者證據設置為false,這可能會在您重新啟動ASP.NET應用程序池時增加初始頁面加載。 你可以在這里閱讀更多相關信息 。
以下是禁用檢查應用程序的CAS發布者策略的方法:
<configuration>
<runtime>
<generatePublisherEvidence enabled="false"/>
</runtime>
</configuration>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.