執行以下操作之一:
在 Windows XP 或 Windows Server 2003 計算機上的命令提示中輸入以下命令,顯示此計算機上 TCP/IP 協議所使用的活動連線:
複製
netstat -n
這將列出繫結到客戶端計算機的 TCP/IP 地址以及 TCP/IP 地址與遠端伺服器通訊所使用的埠。如果列出的埠使用了所有可用的埠,則出現了 TCP/IP 埠耗盡現象。
在基於 Windows Server 2003 的客戶端計算機的命令提示中輸入以下命令,以顯示 TCP/IP 協議所使用的活動連線:
netstat -b
這將列出繫結到客戶端計算機的 TCP/IP 地址、TCP/IP 地址與遠端伺服器通訊所使用的埠以及使用這些埠的應用程式。此資訊可以幫助您確定那個客戶端應用程式正在使用過多的 TCP/IP 埠。
與 TCP/IP 埠耗盡有關的問題
當客戶端應用程式嘗試使用 TCP/IP 套接字連線到 BizTalk Server,或當 BizTalk 應用程式嘗試使用 TCP/IP 套接字連線到伺服器時,可能會出現類似於下面的情況:
System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send.
- 或者 -
Unable to connect to the remote server
System.Net.Sockets.SocketException: Only one usage of each socket address (protocol/network address/port) is normally permitted.
當出現這些錯誤時,還可能出現以下問題:
客戶端應用程式可能無法連線到 BizTalk Server。
BizTalk 應用程式服務可能無法連線到遠端 SQL 伺服器。
BizTalk Server 介面卡可能無法連線到遠端伺服器。
客戶端應用程式預留的每個埠均佔用核心記憶體。如果預留了數目超常的客戶端埠,Windows 核心記憶體的佔用率將相應增加。
原因
如果客戶端計算機中存在數目超常的 TCIP/IP 套接字連線,則客戶端計算機上可能出現 TCP/IP 埠耗盡的情況。如果多個客戶端應用程式都在建立連線,則可能出現這種情況。
如果所有可用的臨時埠都分配給了客戶端應用程式,則客戶端將出現 TCP/IP 埠耗盡的情況。當 TCP/IP 埠耗盡時,將無法預留客戶端埠,並且嘗試透過 TCP/IP 套接字連線到伺服器的客戶端應用程式也將出錯。
在高負載情況下,比處於正常負載時更容易出現 TCP/IP 埠耗盡的情況。
解決方法
執行以下步驟以避免 TCP/IP 埠耗盡及其相關問題:
驗證客戶端應用程式沒有生成過多的 TCP/IP 套接字連線。這一點可以用上面提到的方法來檢查,即在 Windows Server 2003 和 Windows XP 上執行 netstat -n,或者在 Windows Server 2003 和 2008 上執行 netstat -b。
如果某個客戶端應用程式使用了數量超常的 TCP/IP 套接字連線,則應考慮重新設計客戶端應用程式,以便更有效地使用 TCP/IP 套接字連線。
執行以下操作之一:
在 Windows XP 或 Windows Server 2003 計算機上的命令提示中輸入以下命令,顯示此計算機上 TCP/IP 協議所使用的活動連線:
複製
netstat -n
這將列出繫結到客戶端計算機的 TCP/IP 地址以及 TCP/IP 地址與遠端伺服器通訊所使用的埠。如果列出的埠使用了所有可用的埠,則出現了 TCP/IP 埠耗盡現象。
在基於 Windows Server 2003 的客戶端計算機的命令提示中輸入以下命令,以顯示 TCP/IP 協議所使用的活動連線:
複製
netstat -b
這將列出繫結到客戶端計算機的 TCP/IP 地址、TCP/IP 地址與遠端伺服器通訊所使用的埠以及使用這些埠的應用程式。此資訊可以幫助您確定那個客戶端應用程式正在使用過多的 TCP/IP 埠。
與 TCP/IP 埠耗盡有關的問題
當客戶端應用程式嘗試使用 TCP/IP 套接字連線到 BizTalk Server,或當 BizTalk 應用程式嘗試使用 TCP/IP 套接字連線到伺服器時,可能會出現類似於下面的情況:
複製
System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send.
- 或者 -
複製
Unable to connect to the remote server
System.Net.Sockets.SocketException: Only one usage of each socket address (protocol/network address/port) is normally permitted.
當出現這些錯誤時,還可能出現以下問題:
客戶端應用程式可能無法連線到 BizTalk Server。
BizTalk 應用程式服務可能無法連線到遠端 SQL 伺服器。
BizTalk Server 介面卡可能無法連線到遠端伺服器。
客戶端應用程式預留的每個埠均佔用核心記憶體。如果預留了數目超常的客戶端埠,Windows 核心記憶體的佔用率將相應增加。
原因
如果客戶端計算機中存在數目超常的 TCIP/IP 套接字連線,則客戶端計算機上可能出現 TCP/IP 埠耗盡的情況。如果多個客戶端應用程式都在建立連線,則可能出現這種情況。
如果所有可用的臨時埠都分配給了客戶端應用程式,則客戶端將出現 TCP/IP 埠耗盡的情況。當 TCP/IP 埠耗盡時,將無法預留客戶端埠,並且嘗試透過 TCP/IP 套接字連線到伺服器的客戶端應用程式也將出錯。
在高負載情況下,比處於正常負載時更容易出現 TCP/IP 埠耗盡的情況。
解決方法
執行以下步驟以避免 TCP/IP 埠耗盡及其相關問題:
驗證客戶端應用程式沒有生成過多的 TCP/IP 套接字連線。這一點可以用上面提到的方法來檢查,即在 Windows Server 2003 和 Windows XP 上執行 netstat -n,或者在 Windows Server 2003 和 2008 上執行 netstat -b。
如果某個客戶端應用程式使用了數量超常的 TCP/IP 套接字連線,則應考慮重新設計客戶端應用程式,以便更有效地使用 TCP/IP 套接字連線。