項目:netcore webapi 3.1
平台:windows server 2008 r2
服務器:IIS 7.5
項目發布到IIS以后第一次請求特別慢大概7.8秒,然后每隔5分鍾請求一次大概2.3秒,下面講解下我的解決旅程,如果心急的朋友直接看最后一步:
1、在IIS站點中設置HTTP響應頭Cache-control,這個把當前請求頁面緩存了,會出現2個賬號登錄顯示的是相同頁面,請求響應的時間並沒有提高

2、在IIS應用程序池 高級設置中,CPU限制間隔由原來5分鍾更改為0,閑置超時由原來20分鍾更改為0,也就是不受限制,但依然會出現休眠狀態速度還是一樣慢


3、在命令行切換到 當前項目目錄 使用netcore內置服務器Kestrel啟動,問題依然沒有解決

4、在接口中設置一個test參數直接返回OK,然后利用windows計划程序,每隔2分鍾執行批處理文件 去請求喚醒它,問題還是存在

5、在iis7.5中安裝 應用程序預熱模塊,下面是下載鏈接,2個組件都要安裝,選擇應用程序池設置AlwaysRunning,但是沒有生效問題依舊存在
預熱組件下載地址:http://www.iis.net/downloads/microsoft/application-initialization
預熱配置界面下載:http://www.it165.net/uploadfile/2013/0601/20130601104150404.zip


6、升級服務器到windows server2012或更高,安裝IIS8.0,注意安裝IIS時候選擇上 應用程序初始化 ,應用程序池啟動模式:AlwaysRunning、閑置超時:1740分、網站預加載已啟用:True,最后問題解決!



