色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設計應用 > 基于Linux的Socket網(wǎng)絡編程的性能優(yōu)化

          基于Linux的Socket網(wǎng)絡編程的性能優(yōu)化

          作者: 時間:2009-10-20 來源:網(wǎng)絡 收藏

          4.3 為Bandwidth Delay Product調(diào)節(jié)TCP窗口
          TCP的性能取決于幾方面因素,最重要的是鏈接帶寬(link bandwidth)(報文在網(wǎng)絡上傳輸?shù)乃俾?和往返時間(round-trip time)或RTT(發(fā)送報文與接收到另一端的響應之間的延時)。這兩個值確定稱為BDP(Bandwidth Delay Prod-uct)的內(nèi)容。BDP給出一種簡單的方法計算理論上最優(yōu)的TCP 緩沖區(qū)大小(其中保存排隊等待傳輸和等待應用程序接收的數(shù)據(jù))。緩沖區(qū)太小,TCP窗口就不能完全打開,這會限制性能;緩沖區(qū)太大,則會浪費寶貴的內(nèi)存資源;設置的緩沖區(qū)大小合適,就可完全利用可用帶寬。
          BDP計算公式:
          BDP=link bandwidth×RTT
          若應用程序通過一個100MB/s的局域網(wǎng)通信,其RRT為500ms,則BDP為:50MB/sx0.050/ 8625M=625KB。2.6默認的TCP窗口大小是110KB,這將連接的帶寬限制為22M/S,計算方法如下:
          throughput=window_size/RTT
          110 KB/0.050=2.2 MB/s
          使用上面計算的窗口大小,得到帶寬為12.5 MB/s,即:
          625 KB/0 050=12.5 MB/s
          差別很大,并且可以為提供更大的吞吐量??梢愿鶕?jù)自己的計算最優(yōu)的緩沖區(qū)大小。Socket提供幾個Socket選項,其中兩個可以用于修改Socket的發(fā)送和接收緩沖區(qū)的大小。使用SO_SNDBUF和SO_RCVBUF選項來調(diào)整發(fā)送和接收緩沖區(qū)的大小。

          本文引用地址:http://cafeforensic.com/article/157808.htm


          2.6內(nèi)核中.發(fā)送緩沖區(qū)的大小由調(diào)用用戶定義,而接收緩沖區(qū)會自動加倍。通過計算合理設置緩沖區(qū)的大小,Socket網(wǎng)絡傳輸帶寬的資源將得到充分利用,從而提高了傳輸性能。

          5 結(jié)束語
          設計和實現(xiàn)一個的Socket,通過在服務器端運行預先編譯的可執(zhí)行文件serv,和在客戶端運行預先編譯的可執(zhí)行文件clt,服務器端和客戶端建立通信連接。加入select()函數(shù)以后,服務器端可以允許多個客戶端接入服務器端,解決了I/O多路復用問題,更加接近實際應用。利用TCP socket禁用Nagle算法實現(xiàn)了最小化報文傳輸?shù)难訒r,提高了Socket的性能。在網(wǎng)絡帶寬非常珍貴的現(xiàn)實中。提出了為Bandwidth Delay Product調(diào)節(jié)TCP窗口,修改socket的發(fā)送和接收緩沖區(qū)的大小,完全利用可用的帶寬。達到較好的網(wǎng)絡傳輸效果。實際網(wǎng)絡傳輸環(huán)境復雜多變,如何達到最理想的網(wǎng)絡傳輸,還需進一步的分析和研究。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          p2p機相關(guān)文章:p2p原理



          上一頁 1 2 3 4 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉