既然是 PC , 接兩張網卡?
誤差的可能: 由於用了 VM , 效能不夠. 減少: VM 都要放 RAM 或開 RAMDrive 處理資料
所以如果以有線網路, 而且 Router 處理速度遠低於網路本身頻寬, 誤差才會比較小.
想另外再請問,若是我依台PC(沒有裝VM)接兩張網卡分別接到Router 的Wan 與Lan,這樣測試出來的數據為何會失真呢
失真是不一定啦, 只是覺得有些底層的傳輸函式可能是共用的(比如 winsock ),
那效能會不會因為這些函式處理上限, 而被影響到, 還需要再確認.
當然用 vm 也會受到 vm 使用資源的影響, 都有失真的風險(未必會發生, 但先留意, 如果真的數值很奇怪, 檢查不出別的問題再來檢查這個).
akok0111提到:
想另外再請問,若是我依台PC(沒有裝VM)接兩張網卡分別接到Router 的Wan 與Lan,這樣測試出來的數據為何會失真呢
沒裝VM的話,因為OS kernel到兩個subnet有直通路由,除非能透過policy route指定走Ethernet(如此才會過IP sharing),不然是測不出來的....
我都忽略掉這可能了....(果然老了, 習慣某種架構就忘了還有這種事 XD)
slime提到:
我都忽略掉這可能了....(果然老了, 習慣某種架構就忘了還有這種事 XD)
鵝也沒多年輕啊....BTW,單為了測throughput的話跑VM的overhead是太高了點,尤其是latency大增,對TCP的throughput會有不利的影響(不過相對於router裡面那顆不太powerful的SoC而言,現在隨便一顆X86都可以說是效能過剩,只是latency的影響還是得考量一下就是了[Oorz])....
大部份 user 端的基地台其實一般雙核 + vt 就測得出來, 只是上下傳可能用 ram 而不要用硬碟檔案就幾乎可以了.
不過如果要測高檔的背板頻寬或光纖, 多幾台 + HBA 是必要的.... :D
cmwang提到:
因為OS kernel到兩個subnet有直通路由
為何OS kerner 會知道兩個subnet 會有直通路由呢??OS並不知道我的線如何接的阿??
akok0111提到:
為何OS kerner 會知道兩個subnet 會有直通路由呢??OS並不知道我的線如何接的阿??
插兩張網卡並設成IP A和IP B時對OS kernel而言到subnet A和subnet B就有直通路由了(不然豈不是連到網卡都不通了),試圖產生IP A和IP B間的traffic的話,OS kernel因為對IP A和IP B都有直通路由,所以根本不會走到實體的網路界面上(i.e.仔細觀察一下,網卡的燈號連閃都不會閃一下),除非透過policy routing等機制強迫OS kernel在遇到IP A-IP B的traffic時透過實體網路界面往next hop送(一般OS kernel決定走哪個路由是只看destination IP的),這樣才測得出gateway的效能吧....