なろぐ2

PC関連のメモ帳

VMWarePlayer上のLinuxのネットワーク転送速度が遅い

題名の通りです。
今回はVMWarePlayerのゲストOSの話。
同環境にあるWindows10と比較してもなんだか遅いんですよね。

 


以下テスト環境
VMWare Workstation Player 16

 

ホスト
Ryzen9 5950X、メモリDDR4-3600 128GB、i225-LM
Windows10(19043.1081)

 

ゲスト(ハードウェア設定はほぼ一緒)
OSはWindows10(19043.1081)とLinux Mint18.1 Serena
CPU4コア、メモリ16GB、ホストPCのNVMe SSD上に各OSを構築
仮想NICドライバはvmxnet3を使用。ブリッジ接続。
MTUを9000に設定。

 

全てのゲストOSのVMXファイルのメモリ周りのチューニング済
(MemTrimRate~等)

 

スイッチングHub
MS510TX MTU9000に設定済

 

コピー先NAS
TrueNas(MicroServer N54L)
TrueNAS-12.0-U4
Aquantia AQC107 10G(MTU9000)
Crucial M550


接続状況
PC(2.5G Port)
 |
MS510TX
 |
Nas(100G Port)

 

ああそうそう、TSOとLRO(TCP Segmentation Offload、
Large Receive Offload)
 ※TSOはvmwnet3ではLarge Send Offloadと呼ばれます。
 https://kb.vmware.com/s/article/2055140?lang=ja
これらは無効になっております。

 

テストデータはWindows10のISOファイル。

単体で4.5~5Gの二種を右に左にとコピーさせています。

 

 

とこんな感じ。
Linuxゲスト(2.5G)からNas(10G)へのコピーが遅いんですね。
Nasの方が足を引っ張らないようにSSD(M550)を入れて対象にして
あります。古いSSDですが2.5Gbit NIC以上の能力はありますので
問題は無いです。

 

 

 

以下、テスト結果

 

ゲスト(Linux Mint) → NAS

f:id:narol:20210624165825p:plain

 

NAS → ゲスト(Linux Mint

f:id:narol:20210624165833p:plain

 

ゲスト(Win10) → NAS

f:id:narol:20210624165818p:plain

 

NAS → ゲスト(Win10)

f:id:narol:20210624165803p:plain

 

Linux Mint接続状況 

f:id:narol:20210624165848p:plain

 

※参考用
ホスト → NAS

f:id:narol:20210624165755p:plain

 


とてもとても遅いです。
あれこれチューニングした成果かゲストWin10-NAS間は290MB/sと
2.5Gbit NICの性能をほぼフルに引き出しています。
それに引き換えLinuxは…NASへは55MB/s、NASからは74MB/sと
1Gbps(125MB/s)にも届いていないです。

 


うーーーん。
ハードウェア的には一緒なので考えられるのは

 

〇Samba(SMB)の設定が甘いか相性が悪い
 対Windowsなサービス、プロトコルなのでLinuxだとイマイチ
 とかですかね?検索して出てくるチューニングも施してみましたが
 逆に速度が落ちる場合もあったり。
 
 ※Sambaのチューニングを施してみる
 smb.confに以下の項目を追記
 
 read raw = Yes
 write raw = Yes
 socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072     SO_SNDBUF=131072
 min receivefile size = 16384
 use sendfile = true
 aio read size = 16384
 aio write size = 16384
 
 NASへは70MB/S、NASからは80MB/sまで上がりました。まだ遅いですけどね。
 
ipv6を無効にしてみた
 NASへは80MB/Sに上がりました!
 NASからは25MB/sと大幅ダウン。ダメじゃないか。
 
〇vmxnet3ドライバとLinuxの相性が悪い
 vmxnet3はVMWarePlayerが持っている仮想ネットワークドライバです。
 1Gbpsの場合e1000等のドライバが使用されますがマルチギガビット以上
 ではvmxnet3が有効なようです。
 これが上手く動いていないのかなー?
 ちなみにe1000でも1Gbps以上出るとの話がありましたので変更して
 みましたが速度の改善はありませんでした。
 
〇VMWarePlayerとLinuxの相性が悪い
 この可能性もあるのですが実機の空きがないので検証出来ず。

 

〇i225(2.5G)とLinuxの相性が悪い

 確かRealtekとかAquantiaのNICでも速度が出ていなかった気が

 するんですよね。

 

〇接続方法を変えてみる

 ブリッジ接続をNATに変えてみましたが変わらず。

 

 


とりあえずお手上げ。
Ubuntuの時もそうでしたが仮想PCのLinuxは毎回転送速度が遅い

感じなんですよね。うーーん、何が原因なんだか。

せめて100MB/s位出てくれると嬉しいんですけどね。