日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

如何解決在window下高并發(fā)TCP請(qǐng)求端口被占用問題

系統(tǒng) 2606 0

當(dāng)客戶端啟動(dòng)到服務(wù)器的 TCP/IP 套接字連接時(shí),客戶端通常連接到服務(wù)器上的特定端口,并請(qǐng)求服務(wù)器通過臨時(shí)(或暫時(shí))TCP 或 UDP 端口進(jìn)行響應(yīng)。在 Windows Server 2003 和 Windows XP 中,客戶端應(yīng)用程序所使用的臨時(shí)端口的默認(rèn)范圍為 1025 到 5000。在某些情況下,有可能耗盡默認(rèn)范圍的可用端口。

TCP/IP 端口耗盡的癥狀隨客戶端應(yīng)用程序的不同而不同,但通常都表現(xiàn)為顯示網(wǎng)絡(luò)連接失敗錯(cuò)誤。若要確定網(wǎng)絡(luò)連接失敗是否是由 TCP/IP 端口耗盡造成的,請(qǐng)?jiān)诳蛻舳擞?jì)算機(jī)上執(zhí)行以下步驟:

  1. 在運(yùn)行 Windows XP 或 Windows Server 2003 的計(jì)算機(jī)上單擊“開始”,再單擊“運(yùn)行”,然后鍵入 cmd ,單擊“確定”打開命令提示。

  2. 執(zhí)行以下操作之一:

    • 在 Windows XP 或 Windows Server 2003 計(jì)算機(jī)上的命令提示中輸入以下命令,顯示此計(jì)算機(jī)上 TCP/IP 協(xié)議所使用的活動(dòng)連接:

      ?
                                netstat -n
      
                              
      這將列出綁定到客戶端計(jì)算機(jī)的 TCP/IP 地址以及 TCP/IP 地址與遠(yuǎn)程服務(wù)器通信所使用的端口。如果列出的端口使用了所有可用的端口,則出現(xiàn)了 TCP/IP 端口耗盡現(xiàn)象。

    • 在基于 Windows Server 2003 的客戶端計(jì)算機(jī)的命令提示中輸入以下命令,以顯示 TCP/IP 協(xié)議所使用的活動(dòng)連接:

      ?
                                netstat -b
      
                              
      這將列出綁定到客戶端計(jì)算機(jī)的 TCP/IP 地址、TCP/IP 地址與遠(yuǎn)程服務(wù)器通信所使用的端口以及使用這些端口的應(yīng)用程序。此信息可以幫助您確定那個(gè)客戶端應(yīng)用程序正在使用過多的 TCP/IP 端口。

與 TCP/IP 端口耗盡有關(guān)的問題

當(dāng)客戶端應(yīng)用程序嘗試使用 TCP/IP 套接字連接到 BizTalk Server,或當(dāng) BizTalk 應(yīng)用程序嘗試使用 TCP/IP 套接字連接到服務(wù)器時(shí),可能會(huì)出現(xiàn)類似于下面的情況:

?
                    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.

                  

當(dāng)出現(xiàn)這些錯(cuò)誤時(shí),還可能出現(xiàn)以下問題:

  • 客戶端應(yīng)用程序可能無法連接到 BizTalk Server。

  • BizTalk 應(yīng)用程序服務(wù)可能無法連接到遠(yuǎn)程 SQL 服務(wù)器。

  • BizTalk Server 適配器可能無法連接到遠(yuǎn)程服務(wù)器。

  • 客戶端應(yīng)用程序預(yù)留的每個(gè)端口均占用內(nèi)核內(nèi)存。如果預(yù)留了數(shù)目超常的客戶端端口,Windows 內(nèi)核內(nèi)存的占用率將相應(yīng)增加。

原因

如果客戶端計(jì)算機(jī)中存在數(shù)目超常的 TCIP/IP 套接字連接,則客戶端計(jì)算機(jī)上可能出現(xiàn) TCP/IP 端口耗盡的情況。如果多個(gè)客戶端應(yīng)用程序都在建立連接,則可能出現(xiàn)這種情況。

如果所有可用的臨時(shí)端口都分配給了客戶端應(yīng)用程序,則客戶端將出現(xiàn) TCP/IP 端口耗盡的情況。當(dāng) TCP/IP 端口耗盡時(shí),將無法預(yù)留客戶端端口,并且嘗試通過 TCP/IP 套接字連接到服務(wù)器的客戶端應(yīng)用程序也將出錯(cuò)。

在高負(fù)載情況下,比處于正常負(fù)載時(shí)更容易出現(xiàn) TCP/IP 端口耗盡的情況。

解決方法

執(zhí)行以下步驟以避免 TCP/IP 端口耗盡及其相關(guān)問題:

  1. 驗(yàn)證客戶端應(yīng)用程序沒有生成過多的 TCP/IP 套接字連接。這一點(diǎn)可以用上面提到的方法來檢查,即在 Windows Server 2003 和 Windows XP 上運(yùn)行 netstat -n ,或者在 Windows Server 2003 和 2008 上運(yùn)行 netstat -b

    如果某個(gè)客戶端應(yīng)用程序使用了數(shù)量超常的 TCP/IP 套接字連接,則應(yīng)考慮重新設(shè)計(jì)客戶端應(yīng)用程序,以便更有效地使用 TCP/IP 套接字連接。

    Aa560610.note(zh-CN,BTS.10).gif 注意
    如果為 BizTalk 應(yīng)用程序服務(wù) (BTSNTSvc.exe) 實(shí)例預(yù)留了數(shù)量超常的客戶端端口,則需驗(yàn)證配置為在 BizTalk 應(yīng)用程序服務(wù)中運(yùn)行的任何自定義代碼都沒有建立過多的 TCP/IP 套接字連接。

    ?

    ?

  2. 如果大量客戶端應(yīng)用程序要啟動(dòng)已知數(shù)量的 TCP/IP 套接字連接,但沒有足夠數(shù)量的可用臨時(shí)端口來滿足連接請(qǐng)求,則需要進(jìn)行以下注冊(cè)表修改。

    Aa560610.Caution(zh-CN,BTS.10).gif 警告
    如果注冊(cè)表編輯器使用不當(dāng),則可能會(huì)產(chǎn)生嚴(yán)重問題,導(dǎo)致重新安裝操作系統(tǒng)。Microsoft 不保證可以解決因注冊(cè)表編輯器使用不當(dāng)而造成的問題。請(qǐng)慎用注冊(cè)表編輯器,風(fēng)險(xiǎn)自負(fù)。在修改注冊(cè)表之前,請(qǐng)務(wù)必備份注冊(cè)表,并確保您知道在發(fā)生問題時(shí)如何使用備份進(jìn)行還原。有關(guān)如何備份、還原及修改注冊(cè)表的詳細(xì)信息,請(qǐng)參閱 Microsoft 知識(shí)庫(kù)文章“Microsoft Windows 注冊(cè)表說明”,網(wǎng)址為 http://go.microsoft.com/fwlink/?LinkId=62729 。

    ?

    ?

    增加動(dòng)態(tài)分配到客戶端 TCP/IP 套接字連接的臨時(shí)端口的上限。

    1. 啟動(dòng)注冊(cè)表編輯器。

    2. 在注冊(cè)表中,瀏覽到并單擊以下注冊(cè)表項(xiàng)。

      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

    3. 在“編輯”菜單中單擊“新建”、“DWORD 值”,然后添加以下注冊(cè)表值,以增加可以動(dòng)態(tài)分配到客戶端的臨時(shí)端口的數(shù)量:

      ?

      值名稱

      MaxUserPort

      值數(shù)據(jù)

      <在此輸入一個(gè) 5000 到 65534 之間的十進(jìn)制值>

    4. 關(guān)閉注冊(cè)表編輯器。

      Aa560610.note(zh-CN,BTS.10).gif 注意
      必須重新啟動(dòng)計(jì)算機(jī),此更改才會(huì)生效。

      ?

      ?

      Aa560610.note(zh-CN,BTS.10).gif 注意
      增加用于客戶端 TCP/IP 連接的臨時(shí)端口的范圍將占用 Windows 內(nèi)核內(nèi)存。請(qǐng)勿將此設(shè)置的值增加至超過容納客戶端應(yīng)用程序套接字連接所需要的值,以便盡可能降低對(duì) Windows 內(nèi)核內(nèi)存的不必要占用。

      ?

      ?

    降低客戶端 TCP/IP 套接字連接的超時(shí)值(默認(rèn)值為 240 秒)

    1. 啟動(dòng)注冊(cè)表編輯器。

    2. 在注冊(cè)表中,瀏覽到并單擊以下注冊(cè)表項(xiàng)。

      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

    3. 在“編輯”菜單中單擊“新建”、“DWORD 值”,然后添加以下注冊(cè)表值,以縮短關(guān)閉連接時(shí),該連接處于 TIME_WAIT 狀態(tài)的時(shí)間。當(dāng)連接處于 TIME_WAIT 狀態(tài)時(shí),套接字對(duì)無法重新使用:

      ?

      值名稱

      TcpTimedWaitDelay

      值數(shù)據(jù)

      <在此輸入一個(gè) 30 到 240 之間的十進(jìn)制值。>

    4. 關(guān)閉注冊(cè)表編輯器。

      Aa560610.note(zh-CN,BTS.10).gif 注意
      必須重新啟動(dòng)計(jì)算機(jī),此更改才會(huì)生效。

      ?

      ?

      Aa560610.note(zh-CN,BTS.10).gif 注意
      此值的有效范圍為 30 到 300(十進(jìn)制)之間。默認(rèn)值為 240。

如何解決在window下高并發(fā)TCP請(qǐng)求端口被占用問題


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦?。。?/p>

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 大石桥市| 剑川县| 新泰市| 巴林右旗| 友谊县| 上思县| 阳城县| 和平区| 固阳县| 四子王旗| 灵台县| 朔州市| 喜德县| 启东市| 大厂| 岫岩| 泰州市| 开远市| 黄浦区| 绵阳市| 略阳县| 宜昌市| 蓝田县| 双辽市| 桐城市| 宣城市| 沈阳市| 迭部县| 西城区| 黑龙江省| 绥德县| 庄浪县| 澄城县| 阿瓦提县| 扎兰屯市| 镇康县| 宁阳县| 石屏县| 吕梁市| 柳州市| 扎兰屯市|