
我有一個分散式應用程序,它在許多機器之間傳遞大量流量。目前,這些機器與機架中的其他機器共享千兆位元網絡,我開始看到問題(資料包衝突)。在尋找解決方案時,我遇到了有關巨型幀的討論,如果它像廣告中那樣工作,它肯定會解決我的問題。但 ...
我用於分散式應用程式的伺服器(它是一種網路爬蟲)也需要存取互聯網,並且我讀過的有關巨型幀的所有內容都警告說,要使其正常工作每個設備連接到的網路必須支援巨型幀。我的路由器可能會很好地處理在傳輸之前分割巨型資料包的問題,但這樣做會大大減慢速度。
我的伺服器都有兩個網路卡。我是否可以為分散式應用程式設定專用網絡,確保所有電腦的第一個網卡都設置為巨型幀,並使用這些電腦上的第二個網卡(巨型幀關閉)來連接到我的其餘部分網路和外界。我的想法是,爬蟲子系統內部的大量流量將與網路的其餘部分(包括網路流量)隔離,並且使用巨型幀將提高通訊速度。
這些機器都是運行 Windows 2008 的 Dell PowerEdge 1950 伺服器。
最後,如何確保我的交換器支援巨型幀?我們使用的是 TP-Link 交換機,目前似乎運作良好,但我找不到任何有關它們是否支援巨型幀的資訊。
我知道我有很多問題。我正在考慮的聽起來合理嗎?
答案1
執行此操作時,請確保您的 NIC 存在於單獨的網路區塊中。如果您使用 Linux,封包將透過網路區塊中系統中的第一個 NIC 進行路由,因此,即使 eth1 的 MTU 為 9000,它最終也可能會透過 eth0 路由這些封包。
我們為儲存網路設定了一個單獨的 VLAN,並且必須在 eth1 上設定一個單獨的網路區塊以避免這種行為。將 MTU 增加到 9000 可以輕鬆提高吞吐量,因為該特定係統處理串流傳輸大量相當大的檔案。
答案2
這應該是完全可行的。 Windows 上的伺服器網路卡的每個介面可以有不同的 MTU 設定。否則,iSCSI(巨型幀的常用驅動程式)將不會獲得如此大的採用率。
答案3
退後一步,在全雙工交換環境中,您不應該遇到衝突。在深入巨型幀路徑之前,我會調查衝突的原因。
也就是說,各個設備應該相互協商其 MTU 大小。因此,您不必為所有設備打開它。