しばらく前からsambaの速度が異常に遅く、ネットワークドライブとしてマウントして読み書き10MB/s前後とかそんなレベルになっていました。
サーバー構築当時はこんなこと無かったんだけどな、と思いつつ、まぁこんなものか、と半ばあきらめていたのですが・・・。
先日ふと思い立ってLANカードを購入してみました。インテル Gigabit CT Desktop Adapter EXPI9301CTでございます。もう定番中の定番のLANカードで、評判も間違いありません。速度の改善はともかく、CPUへの割り込みの軽減くらいには役立つかな、と。
ちょうどヨドバシポイントが2000ポイントありましたので、それを使って安く手に入れることが出来ました。入荷待ちだったので届くまで結構時間がかかってしまいました。
こんなシンプルな感じで届きます。茶箱で説明書とかは一切ありません。いいね。わくわくしますね。
取り付けるとこんな感じ。これで拡張ポートも全部埋めることが出来ました。わくわくします!
取り付けるだけでデフォルトのドライバが読み込まれ、問題なく接続できるようになります。
が、せっかくなのでドライバのアップデートをしておきましょう。Ubuntu14.04で確認しています。
UbuntuにIntel製ネットワークカード EXPI9301CTの最新ドライバーをインストールしてみた – 旧ID:itiriのブログ様を参考にさせていただきました。
まずは現在のドライバのバージョンを確認。
dmesg | grep eth0
とするとe1000eとかいうドライバが読み込まれていることが分かります。なので
modinfo e1000e
とすると、バージョンは2.3.2-kでした。これがデフォルトらしい。
sourceforgeにて最新のドライバが配布されておりますので、ここから落とします。
cd /usr/src/
sudo wget http://sourceforge.net/projects/e1000/files/e1000e%20stable/3.1.0.2/e1000e-3.1.0.2.tar.gz
sudo tar xavf e1000e-3.1.0.2.tar.gz
cd e1000e-3.1.0.2/
DKMSを利用してモジュールをインストールするため、設定ファイルが必要らしいです。
echo ‘PACKAGE_NAME=”e1000e”‘$’\n”PACKAGE_VERSION=”3.1.0.2″‘$’\n”BUILT_MODULE_LOCATION=src’$’\n”BUILT_MODULE_NAME[0]
=”e1000e”‘$’\n”DEST_MODULE_LOCATION[0]=”/kernel/drivers/net/e1000e/”‘$’\n”AUTOINSTALL=”yes”‘$’\n”MAKE[0]=”BUILD_KERNEL=${kernelver} make -C src
CFLAGS_EXTRA=-DDISABLE_PM”‘$’\n”CLEAN[0]=”make -C src clean”‘$’\n”REMAKE_INITRD=yes’$’\n’ | sudo tee dkms.conf
ビルドに必要なパッケージがインストールされていなければインストール
sudo apt-get install build-essential dkms linux-headers-$(uname -r)
で、インストール
sudo dkms -m e1000e -v 3.1.0.2 add
sudo dkms -m e1000e -v 3.1.0.2 build
sudo dkms -m e1000e -v 3.1.0.2 install
インストール後は
modinfo e1000e
でちゃんと更新できているか確認できます。
念のため再起動しておきましょう。
さて、スピードを計測してみるか・・・。
iperfとCDM(シーケンシャル50MB)で計測し、それぞれ平均値をとっています。
・オンボード:iperfクライアント38.5Mbps・サーバー91.1Mbps、CrystalDiskMarkシーケンシャルR4.2MB/s・W11.7MB/s
・EXPI9301CT:iperfクライアント39.5Mbps・サーバー89.2Mbps、CrystalDiskMarkシーケンシャルR4.2MB/s・W11.6MB/s
計測結果がこちら。全く変わってない・・・。
これはつまりどこかに別のボトルネックがあるのでは?ということで、明らかにボトルネックなRTX1000を撤去。
RTX1000についてはまた記事にする予定です。
LANケーブルに関してはクライアントマシンとサーバーマシンをCat7でつないでいますので、ボトルネックになることはないはずです。
で、再測定
・オンボード:iperfクライアント94.2Mbps・サーバー92.9Mbps、CrystalDiskMarkシーケンシャルR11.7MB/s・W11.7MB/s
・EXPI9301CT:iperfクライアント295Mbps・サーバー642Mbps、CrystalDiskMarkシーケンシャルR91.1MB/s・W109.6MB/s
おおおお!早い!早いよ!!
普通にHDDにアクセスしてるくらいの速度が出るようになりました。すばらしい。
さっき測ったらまた少し早くなっていました。今までとは天と地の差です。
RTXを抜いてもオンボードでは10MB/sちょいしか出ないので、オンボードチップの問題っぽいですねぇ。というか遅いからこれだったらRTXを入れても変わらないか、ということでRTXを買って来たんですよね。
いつからこの状態だったのか記憶に無いですが、解決してよかったです。
ちなみにですが、ドライバ更新による速度の変化はありませんでした。
後、私はオンボの方にRTXを噛ませてVPNを使えるようにしたので、NICが二枚載っていることになります。
NICの数に限らず、gatewayの設定はひとつにしないと正しく接続できなくなります。ご注意を。