iT邦幫忙

0

要如何發揮GB網路的實力?

tayjiz 2011-02-07 01:02:0521938 瀏覽
  • 分享至 

  • xImage

各位先進大家好~
小弟最近有個CASE是要幫客戶大幅改善Lan的傳輸速度.
不過小弟在施工前,在自己家裡做實驗就卡住了,所以來求助大大們提供點意見~
設備介紹
A電腦,D-Link DGE-528T,XP 32bit,Ramdisk 1.5G
B電腦,D-Link DGE-528T,Win7 64bit,Ramdisk 1.5G
C電腦,D-Link DGE-528T,XP 32bit,Ramdisk 1.5G
Switch: D-Link DGS-1008D
受測檔: 700MB CD ISO
線材:自壓的Cat 5e的線,長度都約不到3米,且測試過程也會換線測

測試方試:
統一用fastcopy來copy,所有read & write都是在1.5GB的ramdisk處理(可排除硬碟速度問題)

測試結果:
A->B : 8X MB,700MB ISO 約8.25秒完成
A->C : 2X MB,700MB ISO 約30秒完成
B->A : 2X MB,700MB ISO 約30秒完成
B->C : 2X MB,700MB ISO 約30秒完成
C->B : 8X MB,700MB ISO 約8.25秒完成
C->A : 2X MB,700MB ISO 約30秒完成
問題相信先進們都發現了,只有A->B or C->B時才能出現8XMB的速度,這是因為OS的問題嗎?
可否請先進們給點意見...謝謝

player iT邦大師 1 級 ‧ 2011-02-08 18:48:46 檢舉
你每次測試前
有把電腦重新開機過嗎?
也許是Windows對於存取過的檔案的快取
造成的假象?
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
28
Ray
iT邦大神 1 級 ‧ 2011-02-07 14:30:04
最佳解答

您的問題很奇特, 不過應該要朝網路層(Layer 1~4)去查....

  1. Win7 應該沒有問題; 但要先確認您的 XP 版本? 有部分的 GbE 網卡驅動程式, 在 XP 上面使用 Gigabits Ethernet 時, 會有異常的現象, 甚至可能連登入網域都會有問題. 您可以先嘗試停用 TCP/IP 的 Media Sensing 功能試試看, 可以參考這篇來操作:
    KB 239924: 如何停用 Windows 中 TCP/IP 的媒體探測功能

  2. 請先關閉所有電腦上面的防毒軟體/防火牆...等功能. 這些都會影響效能, 尤其是大檔案時. XP SP2 的內建防火牆在傳送大量檔案時, 會有效能衰退的現象, 請參考微軟原廠說明:
    KB842264: 在安裝 XP Service Pack 2 之後,網路效能和資料輸送量可能會明顯地慢

  3. 8xMB/s 的速度, 才是 GbE 的正常速度, 其他的都不正常; 請先試試: 兩台電腦網卡直接對接, 不要透過 Switch, 看看這樣的速度是否有改變? 這樣可以先排除掉 Switch 本身的問題.

  4. 請檢查每片網卡上面的 Flow Control, Full/Half Duplex 設定, 是否都相同?

  5. 有沒有換其他網卡試過? DGE-528T 好像是用 R8169 的晶片, 但國外曾有人回報說: 用 R8169 的驅動程式反而掛不上, 要改用 R8168 的. 若是這樣的話, 代表驅動程式與網卡之間, 可能存在不匹配的問題. 或許換別的廠牌網卡可以解決.

看更多先前的回應...收起先前的回應...

推~除了第一點,還好我記得其他4點,呵呵

那,我想繼續用XP,又想提供速度,怎麼辦??

Ray iT邦大神 1 級 ‧ 2011-02-08 15:29:55 檢舉

bigcandy提到:
那,我想繼續用XP,又想提供速度,怎麼辦??

我是認為 XP 應可達到 GbE 速度, 我常用 XP 這樣傳, 網芳(SMB)的話, 40~60MB/s 應無問題.

關鍵應該還是 Layer 1~4 中間, 有某個環節出問題, 才會導致這種現象...
上面幾點都是我曾經遇過, 出現變慢的問題...但應該不只這些因素, 還有其他因素需要大家一起想

tayjiz iT邦新手 4 級 ‧ 2011-02-08 18:16:33 檢舉

感謝神人raytracy大大的關心
1.KB 239924: 如何停用 Windows 中 TCP/IP 的媒體探測功能
2.KB842264: 在安裝 XP Service Pack 2 之後,網路效能和資料輸送量可能會明顯地慢
此2項我都試了..結果也是無差異..我現在心裡把矛頭指向smb 2.0不知您認為呢?

Ray iT邦大神 1 級 ‧ 2011-02-08 20:53:11 檢舉

我去找了 GA-G31M-ES2L 主機板的電路方塊圖出來看, 各位有興趣也可以參考一下:
GA-G31M-ES2L-diagram.pdf(直接按畫面那個空白文件就可下載)
從電路圖上可以知道, 外插的介面卡如果是用 PCI 介面的話, 就會使用 PCI 1.0 的介面, 工作時脈是 33MHz, 實際可用頻寬是 133MB/s.

但若使用板上內建的 GbE 的話(晶片是RTL-8111C), 他是直接匯入 PCI-Express 介面, 根據 Intel G31 的規格來看, 他使用的 PCI-e 1.1 規格, 可以讓他有 8GB/s 的傳輸速度.

確實頻寬上有很大的差距. 而且這也排除掉 SMB 2.0 的問題, 因為樓主測試過內建的 GbE, 速度是正常的, 如果問題出在 SMB 2.0 的話, 應該不管內建或外插的都會受影響才對, 但結果只有外插的受影響, 所以已經可以排除 SMB 的問題.

不過我也不認為使用 PCI 會慢到這種程度, 一定還有其他因素在影響 PCI Bus....

Ray iT邦大神 1 級 ‧ 2011-02-08 21:02:10 檢舉

喔對了, Bus 的頻寬請參考這張表:
Wiki: List of device bit rates
PCI 32-bits/33MHz = 133.33 MB/s (最大頻寬)
PCI 32-bits/66 MHz = 266.7 MB/s
PCI 64-bits/33 MHz = 266.7 MB/s
PCI 64-bits/66 MHz = 533.3 MB/s
PCI 64-bits/100 MHz = 800 MB/s

PCI Express 1.0 (x32 link) = 8 GB/s
PCI Express 2.0 (x16 link) = 8 GB/s
PCI Express 3.0 (x16 link) = 12.8 GB/s
PCI Express 2.0 (x32 link) = 16 GB/s

cmwang iT邦大師 1 級 ‧ 2011-02-08 21:13:33 檢舉

raytracy提到:
但若使用板上內建的 GbE 的話(晶片是RTL-8111C), 他是直接匯入 PCI-Express 介面, 根據 Intel G31 的規格來看, 他使用的 PCI-e 1.1 規格, 可以讓他有 8GB/s 的傳輸速度.

R牌8111C只有TX/RX各一個lane,PCI-E是可以跑到單向250MBps(TX/RX全雙工,但不是單向能跑500MBps,而且受到GbE PHY層的限制,實際上能跑到12xMBps就可以偷笑了)....

Ray iT邦大神 1 級 ‧ 2011-02-08 21:55:30 檢舉

感謝 CM 兄這麼快提供數據, 原來 R8111C 只有 PCI-e x1 而已, 這樣最大頻寬應該只有 250MB/s. 不過, 仍然是 PCI-33 的將近兩倍速度....

我印象中, 以前使用 PCI-33 的系統, 最大封包傳輸率大概只有 30~40MB/s 左右, 如果再加上 SMB 那個可怕的 Overhead, 實際傳輸率確實有可能只有 2x MB/s 左右....

或許樓主應該要考慮使用 PCI-e 的介面來傳輸看看....

Ray iT邦大神 1 級 ‧ 2011-02-08 23:15:07 檢舉

對了, 目前市面上 PCI-e 的 GbE 網卡也不貴, 一千元上下就有了:
Intel 9301CT PRO/1000CT PCI-E
可以考慮換換看...

cmwang iT邦大師 1 級 ‧ 2011-02-09 10:03:31 檢舉

raytracy提到:
感謝 CM 兄這麼快提供數據, 原來 R8111C 只有 PCI-e x1 而已, 這樣最大頻寬應該只有 250MB/s. 不過, 仍然是 PCI-33 的將近兩倍速度....

傳統的PCI除了頻寬有限外(尤其是33MHz PCI32,只有130MBps),而且共享式匯流排同一個匯流排上所有週邊只能共用頻寬,更嚴重的是只要匯流排上有低速週邊(i.e.只能跑33MHz者),所有週邊就只能被拉下來跑33MHz,這就是鵝前面說除非絕對必要通常是不建議這麼用的道理,相對而言PCI-E由於是point to point架構不會有週邊搶頻寬或互相影響的顧慮,實用上會比PCI-X方便多了,不過對486時代開始發展的傳統PCI要求太多也有點強人所難就是了....BTW,傳統desktop board由於諸多限制是看不到PCI-X等高速匯流排的,不過在PCI-E出現後desktop board和workstation/server board在這方面的分際就沒那麼明顯了....

10
twnem
iT邦好手 1 級 ‧ 2011-02-07 03:51:07

如果懂程式的話,
這個問題會是容易解決的。

tayjiz iT邦新手 4 級 ‧ 2011-02-08 18:17:38 檢舉

懂程式..小弟不懂..懂程式是寫一個程式來推理這個問題嗎?
還是寫一個程式來.....??

12
oowo
iT邦高手 1 級 ‧ 2011-02-07 11:11:08

(笑)...
你沒把OS的版本打出來呢…XP SP幾?
WIN 7的確是可以發揮出較高水準的傳輸速度沒錯…
WIN XP的話…受限於SP版本的影響…則不一定…
我在猜應該是作業系統及WIN XP Sp?的影響造成的…

tayjiz iT邦新手 4 級 ‧ 2011-02-07 13:30:29 檢舉

還請大大不要再笑了..我不知SPx也有關係..
XP版本為SP3,原來SPx也有關聯嗎?
那大大可告知xp,xp sp1,xp sp2,xp sp3..等等的各版本,在區網的頻寬有何限制?差異為何?
Win7為何能發揮高水準呢?原因?還是只是看我的數據?

12
player
iT邦大師 1 級 ‧ 2011-02-07 20:35:24

WinXP 記得OS預設有鎖頻寬
要改相關的登錄資訊後
再重新開機
(改法忘了, 請用Google自己找)

除此之外
應該還有其他的原因

tayjiz iT邦新手 4 級 ‧ 2011-02-08 18:13:47 檢舉

感謝提供資訊..不過不管是停用它還是啟用並限制為0..經測試對結果都無差別..傷腦筋

12
cmwang
iT邦大師 1 級 ‧ 2011-02-08 04:25:08

電腦配備如何?? DGE-528T插在一般desktop board上只能跑33MHz PCI32(插在server/workstation board上才可能有機會跑66MHz),板子在PCI上另外內建吃頻寬的東東的話(i.e. 1394/USB2.0/SCSI之類)塞在33MHz PCI32上是沒啥好奇怪的,如果板子有內建PCI-E GbE用內建的才是正途.....

看更多先前的回應...收起先前的回應...
tayjiz iT邦新手 4 級 ‧ 2011-02-08 18:12:25 檢舉

感謝..您這個提議讓我解決了一半的問題..我確實發現..在G31這塊MB上真的on board gb nic的速度會是正常的..PCI上的D-LINK反而發揮不出實力..
原來我一直乎略了PCI頻寬的問題..不過請教一下..關於MB的PCI頻寬的部份..有軟體可測或資料可查嗎?

cmwang iT邦大師 1 級 ‧ 2011-02-08 20:34:47 檢舉

tayjiz提到:
關於MB的PCI頻寬的部份..有軟體可測或資料可查嗎?

看圖說故事時間又到了....

照片中左下角兩個有白色key的黑色物體是PCI-E 16X的slot,這兩個slot中間的白色slot就是常見的5V PCI32(只能跑33MHz,頂多跑到130MBps),最下方的綠色slot就是PCI-X(速度可能跑33/66/133MHz,長度和key的位置與33MHz PCI32不同,但support 3.3V的卡是能插進去的,只是此時整個PCI-X包括其它週邊如SCSI等等的速度可能會被拉下水---通常是33MHz),若非絕對必要通常是不建議這麼用的....

cmwang iT邦大師 1 級 ‧ 2011-02-08 20:37:35 檢舉

抱歉,貼錯圖了,正確的圖在此....

Ray iT邦大神 1 級 ‧ 2011-02-08 21:34:03 檢舉

cmwang提到:
抱歉,貼錯圖了,正確的圖在此....

我還在想說, CM 兄是過年過得太快樂了, 一開工就來耍寶....開心

cmwang iT邦大師 1 級 ‧ 2011-02-09 09:47:56 檢舉

raytracy提到:
我還在想說, CM 兄是過年過得太快樂了, 一開工就來耍寶....

哪有啥好爽的,國內找不到地方混,都快被送出國當台勞了....BTW,還好不是貼到啥18禁的圖,不過好像沒人看出那張圖是拍啥啊偷笑....

14
jackwan
iT邦研究生 4 級 ‧ 2011-02-08 09:28:11

可能是 Cat 5e 達不到GB的速度, 換 Cat 6試試.....

tayjiz iT邦新手 4 級 ‧ 2011-02-08 14:13:30 檢舉

Cat 6在XP底下還是一樣只跑2XMB...

8
taleships
iT邦新手 4 級 ‧ 2011-02-08 14:59:01

我也是有發現在WIN7上面用隨身硬碟傳檔很快
XP就很慢,若照RAY大所說的OSI 1~4層
應該是3跟4曾跟你的問題比較有關 (我意思是指SO在網路傳輸功能上的設計)
若把可以關的都關了 (防火牆、防毒、各種會佔頻寬會阻擋傳輸流量限制的功能全關)
那我想得到的應該只有OS先天設計上的差異吧(也許 WIN7 收到資料後重組封包的快取空間較大,速度就得以提升)

Ray iT邦大神 1 級 ‧ 2011-02-08 15:25:10 檢舉

其實大家可以先排除掉 OS 本身的差異性, 因為這個差異影響不到 1%.
我曾在 XP 環境下, 經由 GbE 介面, 打出 938Mbps 的封包速度, 可以確認 XP 有能力達到.

應該要去探索看看, 是那些因素, 導致 XP 無法達到原本應有的表現?
上面 CM 兄提到的 PCI-33 問題, 也是一種可能, 但機率也很小...

8
kivava
iT邦新手 4 級 ‧ 2011-02-08 17:27:05

這的確是OS的問題,因為在Windows Vista以後的作業系統才有支援SMB 2.0,演算法的效率提高不少,也讓效能增進不少

我個人實驗的結果,XP下用網芳對傳最快只能達到40-50MB/s,Windows 7下對傳則可提高到60-90MB/s。

tayjiz iT邦新手 4 級 ‧ 2011-02-08 18:09:19 檢舉

感謝..您提到的這個SMB 2.0,我覺得也有可能..不過不知有沒有方法讓XP支援SMB 2.0@@
不然想回來又很怪..目前XP->Win7可以8XMB了..但怎麼會Win7->XP就只有2~4x...

kivava iT邦新手 4 級 ‧ 2011-02-09 09:19:23 檢舉

WinXP無法支援SMB 2.0,這在Windows Vista上市時,MS就宣告過這件事了,據說是SMB有一些跟系統核心有關的調教,無法套用於WinXP上。

至於Windows 7 read file的效能較好,而當send file的效能較差,可能需要使用
Microsoft Network Monitor 3.4
去觀察一下封包的傳送機制,才能知道箇中奧妙。
不過我個人猜測這跟Windows 7的Buffer control機制有關

taleships iT邦新手 4 級 ‧ 2011-02-09 11:00:18 檢舉

+1 快把XP忘了吧. . .

8
CLF
iT邦新手 3 級 ‧ 2011-02-09 14:13:44

可以試著把 QoS 服務關閉. 在單純的2台對傳下 可以再升 10~20% 的傳輸效率.

6
adairhsu
iT邦新手 5 級 ‧ 2011-02-09 23:44:01

看一下這篇:

http://www.enterprisenetworkingplanet.com/nethub/article.php/10950_3485486_2/Squeeze-Your-Gigabit-NIC-for-Top-Performance.htm

重點在:

The magical location for TCP settings in the registry editor is HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

We need to add a registry DWORD named TcpWindowSize, and enter a sufficiently large size. 131400 (make sure you click on 'decimal') should be enough.Tcp1323Opts should be set to 3. This enables both rfc1323 scaling and timestamps.

速度就會增加了。

很類似MTU的 size變動即可? Q_Q! 好奇也想知道答案..

我要發表回答

立即登入回答