命名管道和套接字的區別

在快速局域網 (LAN) 環境中,傳輸控制協議或 Internet 協議 (TCP/IP) 套接字客戶端和命名管道客戶端在性能方面不相上下。但是,網絡速度越慢(如在廣域網 (WAN) 或撥號網絡上),TCP/IP 套接字客戶端與命名管道客戶端的性能差異越明顯。這是因爲進程間通訊 (IPC) 機制在對等項間的通訊方法不同。
  對於命名管道,通常網絡通信交互性更強。一個對等項直到另一個對等項使用讀取命令請求數據時才發送數據。在開始讀取數據前,網絡讀取一般包括一系列窺視命名管道的信息。這在慢速網絡中可能花費非常多並導致過多的網絡流量,其它的網絡客戶端反過來也會受到影響。
  闡明所討論的是本地管道還是網絡管道也很重要。如果服務器應用程序在運行 Microsoft® SQL Server® 2000 實例的計算機上本地運行,則可以選擇本地命名管道協議。本地命名管道以內核模式運行且速度非常快。
  對於 TCP/IP 套接字,數據傳輸的效率更高,開銷也更少。數據傳輸還可以利用 TCP/IP 套接字性能增強機制的優點,如開窗口、延遲確認等,這在慢速網絡中可能非常有益。對於應用程序的不同類型,這類性能差異可能非常大。
  TCP/IP 套接字還支持待辦事項隊列,當試圖連接到 SQL Server 時,與可能導致管道忙錯誤的命名管道相比,該隊列可以提供有限的平穩效果。
  一般情況下,套接字在慢速 LAN、WAN 或撥號網絡中效果較佳,而當網絡速度不成問題時命名管道則是更好的選擇,因爲其功能更強、易於使用且提供多種配置選項
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章