1.修改 IIS 隊列長度
參考資料:https://docs.microsoft.com/zh-cn/previous-versions/office/communications-server/dd441171%28v%3doffice.13%29
Internet Information Services (IIS) 限制了在任何給定時間可在隊列中等待的應用程式池請求的最大數量。如果達到此限制,則所有新請求都将被拒絕,而且使用者将收到錯誤消息“503 – 服務不可用”。預設情況下,IIS 将隊列長度設定為 1,000 個請求。該預設值可能太低,因為如果隊列長度為 1,000,Communicator Web Access(2007 R2 發行版)将隻能處理大約 650 個并發使用者,此後将開始拒絕新使用者。
為幫助確定 Communicator Web Access 服務的可用性,建議将 IIS 隊列長度值設定為預期最多使用者數的 1.5 倍。例如,假定您預期在給定時間最多有 2,000 名使用者登入到 Communicator Web Access。在此情況下,應将隊列長度設定為 3,000(即 2,000 名使用者的 1.5 倍)。
在 IIS 7.0 中更改隊列長度設定
- 單擊 “開始”,指向 “管理工具”,然後單擊 “Internet 資訊服務(IIS)管理器”。
- 在 IIS 管理器中,展開 IIS 伺服器的名稱,然後單擊 “應用程式池”。
- 在 “應用程式池” 窗格中,右鍵單擊 Communicator Web Access 應用程式池,然後單擊 “進階設定”。
- 在 “進階設定” 對話框的 “正常” 下,單擊 “隊列長度”,然後鍵入 Communicator Web Access 部署中的最多并發使用者數的 1.5 倍的值。
- 單擊 “确定”。
在 IIS 6.0 中更改隊列長度設定
- 單擊 “開始”,單擊 “所有程式”,指向 “管理工具”,然後單擊 “Internet 資訊服務(IIS)管理器”。
- 在 IIS 管理器中,展開 “站點” 節點,右鍵單擊 Communicator Web Access 應用程式池,然後單擊 “屬性”。
- 在 “屬性” 對話框中,單擊 “性能” 頁籤。
- 在 “請求隊列限制” 下,單擊 “核心請求隊列限制為(請求次數)”,然後鍵入 Communicator Web Access 部署中的最多并發使用者數的 1.5 倍的值。
監測方法:Windows性能螢幕中監測Http Service Request Queues\ArriveRate。
2.修改 ASP.NET 請求隊列的限制
參考資料:https://docs.microsoft.com/zh-cn/previous-versions/office/communications-server/dd425294%28v%3doffice.13%29
查詢 ASP.NET 時,服務的請求将通過 Internet Information Services (IIS) 和 ASP.NET 工作程序之間的管道來傳遞,并且在該管道内排隊。(ASP.NET 在自己的程序中運作 - 這一點不同于傳統的 ASP,傳統的 ASP 與 IIS 服務在同一個程序中運作。)預設情況下,此隊列最多可以包含 5,000 個請求。如果請求超過 5,000 個,則使用者将收到“503 - 服務不可用”錯誤,并被拒絕服務。
盡管預設值對于相對數目較少的 Communicator Web Access(2007 R2 發行版)使用者來說足夠了,但随着使用者數接近 4,500,就很容易超過請求隊列的限制。由于這個原因,您可能需要将請求隊列的限制增加到 15,000。如果将請求隊列的限制設定為 15,000,就能夠提供足以處理所有用戶端請求的大隊列了。此外,如果伺服器在 Windows Server 2008 上運作,則您需要配置 appConcurrentRequestLimit 設定以支援 5,000 以上的連接配接。
修改 ASP.NET 請求隊列的限制
- 單擊“開始”,然後單擊“運作”****。
- 在“運作”對話框中,鍵入 notepad %systemroot%\Microsoft.Net\Framework64\v2.0.50727\CONFIG\machine.config,然後單擊“确定”。
- 找到如下所示的 processModel 元素:
<processModel autoConfig="true" />
- 将 processModel 元素替換為以下值:
<processModel enable="true" requestQueueLimit="15000" />
- 儲存并關閉 Machine.config 檔案。
- 對于 Windows Server 2008,在“運作”****對話框中,鍵入 appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:<#of users * 1.5>。
3.調整應用程式池最大工作程序數
(适用于無狀态的應用,如webapi。)
其他參考:
https://www.cnblogs.com/dudu/archive/2009/11/10/1600062.html
https://www.cnblogs.com/dudu/archive/2013/06/08/iis_webserver_settings.html
https://www.cnblogs.com/cmt/p/3695594.html
https://www.cnblogs.com/dudu/p/3762672.html
https://www.cnblogs.com/dudu/p/3761659.html
鵬願科技
|
企業家
企業頭條
資本商學院
商業百科