簡體   English   中英

應用程序池回收后IIS 7.5 Web應用程序首次請求非常慢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM