• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 25,  comments - 36,  trackbacks - 0

            以前覺(jué)得飛鴿傳輸?shù)乃俣仍?00Mbps 網(wǎng)卡上能夠跑7 8M/s的樣子感覺(jué)很神奇,看了一下源代碼貌似沒(méi)有發(fā)現(xiàn)很大特別地方,只是覺(jué)得那個(gè)日本人寫(xiě)的代碼比較正規(guī),學(xué)生很少看見(jiàn)漂亮代碼,只會(huì)寫(xiě)垃圾代碼。

            以前寫(xiě)過(guò)傳送文件代碼,發(fā)現(xiàn)速度只有飛鴿傳送一般的速度并且貌似傳送的速度還不穩(wěn)定。想好了好久沒(méi)有想明白,后來(lái)想貌似網(wǎng)上好多說(shuō)什么多線程下載,p2p下載。我就想弄個(gè)多線程就OK就應(yīng)該可以提高速度。后面經(jīng)過(guò)自己測(cè)試發(fā)現(xiàn)這個(gè)不是很對(duì),在某種程度上速度稍微有一點(diǎn)點(diǎn)提高。后來(lái),知道網(wǎng)卡是數(shù)據(jù)傳送不是并行,所以多線程根本不解決本質(zhì)。(為什么多線程下載可以提高下載速度,你是不是看到過(guò)一些瀏覽器的下載管理器 下載一個(gè)文件時(shí)候都開(kāi)啟幾個(gè)線程,顯然他們開(kāi)啟多線程是為提高下載速度。。。想知道原理請(qǐng)看下面分解)。

            我想了好久,想到IP協(xié)議是以最大速度傳送數(shù)據(jù),那么TCP 和 UDP 都是在IP基礎(chǔ)上出來(lái),顯然他們也基礎(chǔ)IP這個(gè)特性,所以可見(jiàn)SOCKET 沒(méi)有提高網(wǎng)卡傳送的方法,這就說(shuō)明速度是一個(gè)定值。

            我們所說(shuō)網(wǎng)速其實(shí)就是 每秒網(wǎng)卡進(jìn)過(guò)數(shù)據(jù)流量。
            這里我就要舉一個(gè)例子,否則越說(shuō)越糊涂了。

            一個(gè)可以裝20噸的貨車(chē)裝滿了沙子,一個(gè)可以裝10噸的小貨車(chē)裝滿了沙子。 但他們最大速度都相同,他們都以最大速度在2條一樣的條路上行駛,并且都要經(jīng)過(guò)個(gè)完全一樣收費(fèi)站。

            貨車(chē)長(zhǎng)度是一樣。
            汽車(chē)速度就是我們網(wǎng)卡物理最大速度100Mbps == 貨車(chē)的速度
            以為長(zhǎng)度一樣 速度一樣 我們假設(shè)經(jīng)過(guò)的時(shí)間為1s
            收費(fèi)站速度(以沙子為對(duì)象) :大貨車(chē)的:20噸/s  小貨車(chē):10噸/s   ====== 我們所說(shuō)的網(wǎng)速
            說(shuō)到這里我也明白,我以前學(xué)習(xí)網(wǎng)絡(luò)課程不明白的地方,以前網(wǎng)卡最大速度 和 網(wǎng)速 為什么不是一樣。
            網(wǎng)卡100Mbps : 類似如 一個(gè)汽車(chē) 一秒 可以跑 多少米
            我們所說(shuō)網(wǎng)速:類似 收費(fèi)站 一秒 經(jīng)過(guò)的沙子量
            這個(gè)2個(gè)是不同概念。
            這就好像 長(zhǎng)度 和 面積差別。。看來(lái)以前學(xué)習(xí)數(shù)學(xué)還是有一點(diǎn)用的。

            所以這里就可說(shuō): 貨車(chē)裝載量就是套接字(字節(jié)流)緩存區(qū)大小。我們只要增加緩沖區(qū)大小就可以提高我們傳送文件的速度。
            經(jīng)過(guò)測(cè)試確實(shí)驗(yàn)證這個(gè)說(shuō)話,測(cè)試結(jié)果就不貼出來(lái)了。

            后面看steven 的tcp/ip詳解 里面也寫(xiě)了一段話,也說(shuō)明這個(gè)觀點(diǎn)。

            插口A P I允許進(jìn)程設(shè)置發(fā)送和接收緩存的大小。接收緩存的大小是該連接上所能
            夠通告的最大窗口大小。有一些應(yīng)用程序通過(guò)修改插口緩存大小來(lái)增加性能。

            [Mogul 1993]顯示了在改變發(fā)送和接收緩存大小(在單向數(shù)據(jù)流的應(yīng)用中,如文件傳輸,
            只需改變發(fā)送方的發(fā)送緩存和接收方的接收緩存大小)的情況下,位于以太網(wǎng)上的兩個(gè)工作
            站之間進(jìn)行文件傳輸時(shí)的一些結(jié)果。它表明對(duì)以太網(wǎng)而言,默認(rèn)的 4 0 9 6字節(jié)并不是最理想的
            大小,將兩個(gè)緩存增加到 1 6 3 8 4個(gè)字節(jié)可以增加約 4 0 %左右的吞吐量。在 [ P a p a d o p o u l

            o s和Parulkar 1993]中也有相似的結(jié)果。

            他這里插口API 就是套接字(我就單純認(rèn)為套接字)
            windows 緩存區(qū)默認(rèn)大小是8k。

            為什么多線程可以稍微提高網(wǎng)絡(luò)速度?
            其實(shí)我們想想 一張網(wǎng)卡只要不停跑滿流量就可以達(dá)到最高速度。多線程就是使緩存區(qū)數(shù)據(jù)保持被填滿,但這里只是稍微提高。其實(shí)單線程就足夠做到這點(diǎn),
            我們 send 傳入一個(gè)Buf 參數(shù)時(shí)候 只要這個(gè)Buf一個(gè)合適的值,就足夠使網(wǎng)卡保持繁忙。
            這里就好像怎么是cpu 效率最高就是不要cpu停下來(lái),同理怎么是網(wǎng)卡效率最高,也就是不要它停下來(lái)。

            為什么多線程下載可以提高網(wǎng)速?
            我們知道帶寬速度比起網(wǎng)卡速度那完全是皮毛,說(shuō)實(shí)在網(wǎng)卡I/O設(shè)備是中斷讀取數(shù)據(jù),它讀取數(shù)據(jù)也不能并行讀取(不知道這么說(shuō)對(duì)不對(duì)),所以多線程不是使網(wǎng)卡并行讀取數(shù)據(jù),而是增加服務(wù)器對(duì)你服務(wù)器時(shí)間(因?yàn)槟闶褂枚嗑€程),自然傳送速度會(huì)快些。
            p2p 我認(rèn)為無(wú)非也是增加服務(wù)器對(duì)你服務(wù)器時(shí)間(這里不是指特定服務(wù)器,而是能夠給你傳送數(shù)據(jù)我就叫著服務(wù)器,貌似p2p叫對(duì)等方)。(我沒(méi)有寫(xiě)過(guò)p2p,只是通過(guò)一些書(shū)籍介紹,憑自己感覺(jué)思考的)。因?yàn)榫W(wǎng)卡的讀取速度比起帶寬要快很多,所以p2p 在很大范圍來(lái)說(shuō) 給你上傳數(shù)據(jù)的對(duì)等方越多你的速度越快,但超過(guò)一定的值,其實(shí)就不可能提高了。


            上面都是本人通過(guò)以有知識(shí)推測(cè),有些經(jīng)過(guò)驗(yàn)證,有些沒(méi)有進(jìn)過(guò)驗(yàn)證。如果有錯(cuò)誤,那就錯(cuò)了吧!!
            注:錯(cuò)別字不算錯(cuò)誤。。。。。。

             

            posted on 2013-05-15 23:00 小魚(yú)兒 閱讀(5118) 評(píng)論(5)  編輯 收藏 引用

            FeedBack:
            # re: SOCK_STRAM SOCKET 的緩存區(qū) 和 傳送速度的關(guān)系[未登錄](méi)
            2013-05-16 14:43 | 春秋十二月
            網(wǎng)速主要取決于程序、網(wǎng)卡和網(wǎng)絡(luò)帶寬,程序?qū)儆谲浖蛩兀òl(fā)送方和接收方;網(wǎng)卡和帶寬則是硬件因素。
            1)只要發(fā)送方不停地發(fā),每次盡可能發(fā)多數(shù)據(jù),就能使網(wǎng)卡繁忙。但還需要接收方讀得快才行。
            2)多線程僅當(dāng)多核并發(fā)時(shí)才能提高性能,這時(shí)下載就是同時(shí)獲取文件的多個(gè)塊。
            3)增大緩沖區(qū)的值確實(shí)能提高速率,但減少卻不意味著降低速率。  回復(fù)  更多評(píng)論
              
            # re: SOCK_STRAM SOCKET 的緩存區(qū) 和 傳送速度的關(guān)系
            2013-05-18 22:32 | wysaid
            發(fā)現(xiàn)速度只有飛鴿傳送"一般"的速度并且貌似傳送的速度還不穩(wěn)定
            →_→  回復(fù)  更多評(píng)論
              
            # re: SOCK_STRAM SOCKET 的緩存區(qū) 和 傳送速度的關(guān)系
            2013-05-19 12:38 | 小魚(yú)兒
            恩,同意你的說(shuō)話  回復(fù)  更多評(píng)論
              
            # re: SOCK_STRAM SOCKET 的緩存區(qū) 和 傳送速度的關(guān)系
            2013-05-19 12:39 | 小魚(yú)兒
            @wysaid
            呵呵,沒(méi)有辦法。
            打字經(jīng)常打錯(cuò)。。。。。


              回復(fù)  更多評(píng)論
              
            # re: SOCK_STRAM SOCKET 的緩存區(qū) 和 傳送速度的關(guān)系
            2013-05-28 10:46 | tb
            呵呵 同意 IT又多一個(gè)人才  回復(fù)  更多評(píng)論
              

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            <2012年5月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            常用鏈接

            留言簿(4)

            隨筆檔案(25)

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            香港aa三级久久三级老师2021国产三级精品三级在 | 久久精品国产欧美日韩99热| 亚洲国产精品无码成人片久久| 色婷婷噜噜久久国产精品12p | 久久免费精品一区二区| 久久久久久久久久久久中文字幕 | 久久99国产精品尤物| 亚洲精品无码久久久久久| 色天使久久综合网天天 | 亚洲欧洲久久久精品| 久久亚洲国产成人影院| 无遮挡粉嫩小泬久久久久久久| 久久天天躁狠狠躁夜夜avapp| 亚洲国产成人精品久久久国产成人一区二区三区综 | 一本久久a久久精品亚洲| 熟妇人妻久久中文字幕| 久久久久亚洲av无码专区导航| 国产精品美女久久久久久2018| 久久久久国产一级毛片高清版| 国产精品九九久久精品女同亚洲欧美日韩综合区| 国产精品美女久久久久网| 国产成人无码精品久久久久免费| 精品99久久aaa一级毛片| 伊人久久五月天| 久久久久久亚洲精品成人| 久久亚洲综合色一区二区三区 | 91久久精品电影| 一本大道久久香蕉成人网| 天天躁日日躁狠狠久久| 99久久精品免费看国产| 亚洲国产精品无码久久九九 | 久久99精品九九九久久婷婷| 一本久久免费视频| 亚洲国产精品久久66| 狠狠色狠狠色综合久久| 99久久精品国产一区二区蜜芽| 中文字幕亚洲综合久久菠萝蜜| 日韩精品久久无码人妻中文字幕 | 久久久久久精品成人免费图片| 三上悠亚久久精品| 91精品国产高清久久久久久91|