共用方式為


套用 IIS 組態設定

根據預設,SOAP、HTTP 和 HTTP 型 WCF 配接器 (和 .NET 一般) 只開啟兩個從每個 BizTalk 主機實例到任何特定目的地伺服器的並行 HTTP 連線。 例如,如果您有將訊息傳送至 http://www.contoso.com/SomeWebService.asmx 的 SOAP 傳送埠,則每個BizTalk Server上執行的每個主機實例預設只會開啟兩個並行 HTTP 連線給www.contoso.com,不論需要傳送多少訊息。

此設定符合 HTTP 1.1 規格的 IETF RFC,雖然它適用于使用者案例,但它並未針對高輸送量伺服器對伺服器通訊進行優化。 預設設定會有效地將每個目的地伺服器的輸出 SOAP 和 HTTP 呼叫節流至每個BizTalk Server主機實例的兩個並行傳送。

設定 IIS 7.0 整合模式的 ASP.NET MaxConcurrentRequests

ASP.NET 2.0 裝載于整合模式的 IIS 7.0 上時,使用執行緒的方式與 IIS 6.0 或傳統模式中的 IIS 7.0 不同。 ASP.NET 2.0 裝載于整合模式的 IIS 7.0 上時,ASP.NET 2.0 會限制並存執行要求的數目,而不是同時執行的執行緒數目。 針對同步案例,這會間接限制執行緒數目,因為要求數目會與執行緒數目相同。 但對於非同步案例,要求和執行緒數目可能會非常不同,因為您可能擁有比執行緒更多的要求。 當您以整合模式在 IIS 7.0 上執行 ASP.NET 2.0 時,會忽略 machine.config 中 「HTTPRuntime」 元素的 minFreeThreads 和 minLocalRequestFreeThreads。 針對 IIS 7.0 整合模式,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\2.0.50727.0 內名為 MaxConcurrentRequestsPerCPU 的 DWORD 會決定每個 CPU 的並行要求數目。 根據預設,登錄機碼不存在,而且每個 CPU 的要求數目限制為 12。 .NET Framework 3.5 SP1 包含 v2.0 二進位檔的更新,可透過 aspnet.config 檔案設定 IIS 應用程式集區。 此設定只適用于整合模式, (傳統/ISAPI 模式會忽略這些設定) 。以下列出具有預設值的新 aspnet.config 組態區段:

<system.web>
   <applicationPool maxConcurrentRequestsPerCPU="12" maxConcurrentThreadsPerCPU="0" requestQueueLimit="5000"/>
</system.web>

作為經驗法則,MaxConcurrentRequestsPerCPU 應該設定為非常大的值,例如 5000。

在 IIS 7.0 整合模式中,machine.config 檔案之 「processModel」 區段中的 maxWorkerThreads 和 maxIoThreads 參數不會用來控管執行中要求的數目,但它們仍用來控管 ASP.NET 所使用的 CLR 執行緒集區大小。 當 machine.config 的 「processModel」 區段具有 「autoConfig=true」 (這是預設設定) 時,這會將每個邏輯 CPU 最多 100 個背景工作執行緒提供給應用程式集區, (MaxWorkerThreads) 。 因此,具有 2 個雙核心 CPU 的通用商用伺服器會有 400 個 MaxWorkerThreads。 這應該足以滿足所有需求的應用程式。

如需在 IIS 7.0 和 6.0 上設定 ASP.NET 執行緒使用量的詳細資訊,請參閱 Thomas Marquardt 在 IIS 7.0 和 6. (https://go.microsoft.com/fwlink/?LinkId=157518 0) 上 ASP.NET 執行緒使用量的部落格。

僅記錄基本資訊或完全停用 IIS 記錄

IIS 記錄應在生產環境中最小化或甚至停用。 若要停用記錄,請遵循下列步驟:

  1. 按一下 [開始],指向 [所有程式],按一下 [ 系統管理工具],然後按一下 [ Internet Information Services (IIS) 管理員]。

  2. 在 [ 連線 ] 窗格中,按一下以展開 [網站],按一下以選取您要停用記錄的網站,按一下以選取 [ 功能檢視],然後按兩下 [記錄 ] 功能。

  3. 按一下 [動作] 窗格中的 [停用] 以停用此網站的記錄。

停用生產環境中的 IIS ASP 偵錯

IIS ASP 偵錯應該在生產環境中停用。 若要停用 IIS ASP 偵錯,請遵循下列步驟:

  1. 按一下 [開始],指向 [所有程式],按一下 [ 系統管理工具],然後按一下 [ Internet Information Services (IIS) 管理員]。

  2. 在 [ 連線 ] 窗格中,按一下以展開 [站台],按一下以選取您要停用 ASP 偵錯的網站,按一下以選取 [ 功能檢視],然後按兩下 ASP 功能。

  3. 按一下以展開 [編譯],按一下以展開 [ 偵錯屬性],並確認 [ 啟用用戶端 偵錯] 和 [ 啟用伺服器端 偵錯] 都設定為 False

  4. 如有必要,請按一下 [動作] 窗格中的 [套用]。

    在 < Web 應用程式的 web.config 檔案中指定編譯 debug=「false」 > 區段,以停用 ASP.NET 應用程式和 Web 服務的偵錯。

微調 ASP 執行緒 Per Processor Limit 屬性的值

[每個 處理器的 ASP 執行緒限制] 屬性會指定 IIS 所建立之每個處理器的背景工作執行緒數目上限。 增加每個處理器的執行緒限制值,直到處理器使用率符合至少 50% 或更新版本為止。 此設定可能會大幅影響 Web 應用程式的延展性,以及伺服器的一般效能。 因為這個屬性會定義可以同時執行的 ASP 要求數目上限,所以除非您的 ASP 應用程式對外部元件進行擴充呼叫,否則此設定應該維持在預設值。 在此情況下,您可以增加每個處理器的執行緒限制值。 這麼做可讓伺服器建立更多執行緒來處理更多並行要求。 每個處理器的執行緒限制預設值為 25。 此屬性的建議最大值為 100。

若要增加每個處理器的執行緒限制值,請遵循下列步驟:

  1. 按一下 [開始],指向 [所有程式],按一下 [ 系統管理工具],然後按一下 [ Internet Information Services (IIS) 管理員]。

  2. 在 [ 連線 ] 窗格中,選取 Web 服務器,按一下以選取 [ 功能檢視],然後按兩下 ASP 功能。

  3. 按一下以展開[行為] 底下的 [限制屬性],按一下 [每個處理器限制執行緒],輸入 [每個處理器限制執行緒] 所需的值,然後按一下 [動作] 窗格中的 [套用]。

    如需如何在 IIS 7.0 < asp > 元素的 limits > 元素中 < 修改屬性的詳細資訊,請參閱ASP 限制 < 限制 > (https://go.microsoft.com/fwlink/?LinkId=157483) 。

注意

由於此屬性只能在伺服器層級套用,因此修改此屬性會影響伺服器上執行的所有網站。

注意

IIS 7.0 的 ASP 執行緒每個處理器限制 屬性會取代 IIS 6.0 ASPProcessorThreadMax ASP Metabase 設定。 如需 IIS 6.0 ASPProcessorThreadMax ASP Metabase 設定的相關資訊,請參閱在 MSDN 上 微調 ASP Metabase 設定 (https://go.microsoft.com/fwlink/?LinkId=158834) 。

調整 ASP 佇列長度屬性的值

調整此屬性的目標是確保良好的回應時間,同時將伺服器在 ASP 要求佇列滿時,將 HTTP 503 (伺服器太忙碌) 錯誤傳送給用戶端的頻率降到最低。 如果 ASP 佇列長度屬性的值太低,伺服器會以較高的頻率傳送 HTTP 503 錯誤。 如果 ASP 佇列長度屬性的值太高,使用者可能會發現伺服器實際上在佇列中等候時未回應。 藉由在高流量期間監看佇列,您應該辨識 Web 要求尖峰和矽谷的模式。 請記下尖峰值,並在尖峰值上方設定 ASP 佇列長度屬性的值。 使用佇列來處理短期尖峰、確保回應時間和節流系統,以避免在持續、非預期的尖峰發生時發生多載。 如果您沒有調整 ASP 佇列長度屬性的資料,良好的起點是將佇列的一對一比率設定為匯流排程。 例如,如果 [每個處理器的 ASP 執行緒限制] 屬性設定為 25,而且您有四個處理器 (4 * 25 = 100 個執行緒) ,請將 [ASP 佇列長度] 屬性設定為 100,然後從該處微調。

若要增加 Queue Length 屬性的值,請遵循下列步驟:

  1. 按一下 [開始],指向 [所有程式],按一下 [ 系統管理工具],然後按一下 [ Internet Information Services (IIS) 管理員]。

  2. 在 [ 連線 ] 窗格中,選取 Web 服務器,按一下以選取 [ 功能檢視],然後按兩下 ASP 功能。

  3. 按一下以展開[行為] 底下的 [限制屬性],按一下 [佇列長度],輸入 [佇列長度] 所需的值,然後按一下 [動作] 窗格中的 [套用]。

    如需如何在 IIS 7.0 < asp > 元素的 limits > 元素中 < 修改屬性的詳細資訊,請參閱ASP 限制 < 限制 > (https://go.microsoft.com/fwlink/?LinkId=157483) 。

注意

由於此屬性只能在伺服器層級套用,因此修改此屬性會影響伺服器上執行的所有網站。

注意

IIS 7.0 的 ASP 佇列長度 屬性會取代 IIS 6.0 AspRequestQueueMax ASP Metabase 設定。 如需 IIS 6.0 AspRequestQueueMax ASP Metabase 設定的相關資訊,請參閱在 MSDN 上 微調 ASP Metabase 設定 (https://go.microsoft.com/fwlink/?LinkId=158834) 。

微調 MaxPoolThreads 登錄專案

此設定會指定要為每個處理器建立的集區執行緒數目。 集區執行緒watch要求和處理傳入要求的網路。 MaxPoolThreads 計數不包含 ISAPI 應用程式所耗用的執行緒。 一般而言,您不應該為每個處理器建立超過 20 個執行緒。 MaxPoolThreads 是REG_DWORD登錄專案,其預設值為 4 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\InetInfo\Parameters\。

停用 WCF 服務追蹤

使用組態編輯器工具 (SvcConfigEditor.exe) 在生產環境中停用 WCF 服務追蹤。 如需組 態編輯器工具的詳細資訊,請參閱組態編輯器工具 (SvcConfigEditor.exe) (https://go.microsoft.com/fwlink/?LinkID=127070) 。

另請參閱

檢查清單:設定 BizTalk Server