激情五月天婷婷,亚洲愉拍一区二区三区,日韩视频一区,a√天堂中文官网8

<ul id="buwfs"><strike id="buwfs"><strong id="buwfs"></strong></strike></ul>
    <output id="buwfs"></output>
  • <dfn id="buwfs"><source id="buwfs"></source></dfn>
      <dfn id="buwfs"><td id="buwfs"></td></dfn>
      <div id="buwfs"><small id="buwfs"></small></div>
      <dfn id="buwfs"><source id="buwfs"></source></dfn>
      1. <dfn id="buwfs"><td id="buwfs"></td></dfn>
        始創(chuàng)于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業(yè)
        • 60秒人工響應(yīng)
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補(bǔ)償
        全部產(chǎn)品
        您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

        提高Linux系統(tǒng)性能加速網(wǎng)絡(luò)應(yīng)用程序

        發(fā)布時(shí)間:  2012/8/26 17:44:11
        在開發(fā) socket 應(yīng)用程序時(shí), 首要任務(wù)通常是確?煽啃圆M足一些特定的需求。利用本文中給出的 4 個(gè)提示,您就可以從頭開始為實(shí)現(xiàn)最佳性能來設(shè)計(jì)并開發(fā) socket 程序。本文內(nèi)容包括對于 Sockets API 的使用、兩個(gè)可以提高性能的 socket 選項(xiàng)以及 GNU/Linux 優(yōu)化。

          為了能夠開發(fā)性能卓越的應(yīng)用程序,請遵循以下技巧:

          最小化報(bào)文傳輸?shù)难訒r(shí)。

          最小化系統(tǒng)調(diào)用的負(fù)載。

          為 Bandwidth Delay Product 調(diào)節(jié) TCP 窗口。

          動(dòng)態(tài)優(yōu)化 GNU/Linux TCP/IP 棧。

          技巧 1. 最小化報(bào)文傳輸?shù)难訒r(shí)

          在通過 TCP socket 進(jìn)行通信時(shí),數(shù)據(jù)都拆分成了數(shù)據(jù)塊,這樣它們就可以封裝到給定連接的 TCP payload(指 TCP 數(shù)據(jù)包中的有效負(fù)荷)中了。TCP payload 的大小取決于幾個(gè)因素(例如最大報(bào)文長度和路徑),但是這些因素在連接發(fā)起時(shí)都是已知的。為了達(dá)到最好的性能,我們的目標(biāo)是使用盡可能多的可用數(shù)據(jù)來填充 每個(gè)報(bào)文。當(dāng)沒有足夠的數(shù)據(jù)來填充 payload 時(shí)(也稱為最大報(bào)文段長度(maximum segment size) 或 MSS),TCP 就會(huì)采用 Nagle 算法自動(dòng)將一些小的緩沖區(qū)連接到一個(gè)報(bào)文段中。這樣可以通過最小化所發(fā)送的報(bào)文的數(shù)量來提高應(yīng)用程序的效率,并減輕整體的網(wǎng)絡(luò)擁塞問題。

          盡管 John Nagle 的算法可以通過將這些數(shù)據(jù)連接成更大的報(bào)文來最小化所發(fā)送的報(bào)文的數(shù)量,但是有時(shí)您可能希望只發(fā)送一些較小的報(bào)文。一個(gè)簡單的例子是 telnet 程序,它讓用戶可以與遠(yuǎn)程系統(tǒng)進(jìn)行交互,這通常都是通過一個(gè) shell 來進(jìn)行的。如果用戶被要求用發(fā)送報(bào)文之前輸入的字符來填充某個(gè)報(bào)文段,那么這種方法就絕對不能滿足我們的需要。

          另外一個(gè)例子是 HTTP 協(xié)議。通常,客戶機(jī)瀏覽器會(huì)產(chǎn)生一個(gè)小請求(一條 HTTP 請求消息),然后 Web 服務(wù)器就會(huì)返回一個(gè)更大的響應(yīng)(Web 頁面)。

          解決方案

          您應(yīng)該考慮的第一件事情是 Nagle 算法滿足一種需求。由于這種算法對數(shù)據(jù)進(jìn)行合并,試圖構(gòu)成一個(gè)完整的 TCP 報(bào)文段,因此它會(huì)引入一些延時(shí)。但是這種算法可以最小化在線路上發(fā)送的報(bào)文的數(shù)量,因此可以最小化網(wǎng)絡(luò)擁塞的問題。

          但是在需要最小化傳輸延時(shí)的情況中,Sockets API 可以提供一種解決方案。要禁用 Nagle 算法,您可以設(shè)置 TCP_NODELAY socket 選項(xiàng),如清單 1 所示。

          int sock, flag, ret; /* Create new stream socket */ sock = socket( AF_INET, SOCK_STREAM, 0 ); /* Disable the Nagle (TCP No Delay) algorithm */ flag = 1; ret = setsockopt( sock, IPPROTO_TCP, TCP_NODELAY, (char *)&flag, sizeof(flag) ); if (ret == -1) { printf("Couldn't setsockopt(TCP_NODELAY)\n"); exit(-1); }

          清單 1. 為 TCP socket 禁用 Nagle 算法

          提示:使用 Samba 的實(shí)驗(yàn)表明,在從 Microsoft® Windows® 服務(wù)器上的 Samba 驅(qū)動(dòng)器上讀取數(shù)據(jù)時(shí),禁用 Nagle 算法幾乎可以加倍提高讀性能。


        本文出自:億恩科技【mszdt.com】

        服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

      2. 您可能在找
      3. 億恩北京公司:
      4. 經(jīng)營性ICP/ISP證:京B2-20150015
      5. 億恩鄭州公司:
      6. 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
      7. 億恩南昌公司:
      8. 經(jīng)營性ICP/ISP證:贛B2-20080012
      9. 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
      10. 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
      11. 專注服務(wù)器托管17年
        掃掃關(guān)注-微信公眾號
        0371-60135900
        Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號
          0
         
         
         
         

        0371-60135900
        7*24小時(shí)客服服務(wù)熱線