« これに決定 | トップページ | ファイルサーバ化計画 ~自動起動、自動終了~ 4/4 »

2015年10月19日 (月)

ファイルサーバ化計画 ~HDDの速度が遅い~ 3/4

今日もいい天気。

最近は暑さを感じるくらいの天気だ。

さて、Sambaの設定はうまくいった。

次は・・・

どのくらいの読み書きの速度が出るのだろう?ということ。

ネットで検索してみると、最近のNASは、シーケンシャルであれば、100MBps(800Mbps)ほど出るとのこと。

ネットの帯域1Gbpsに近い数値だね。

僕の使っているVortexboxのPCは、数年前のもの(XP時代のノートPC)なので、そこまでの性能は求めないにしても、そこそこのスピードが出てくれると嬉しい。

その速度を計測するために、CrystalDiskMark 5.0.2を使わせてもらった。
100MBのデータの読み書き。

うん?なんで?

読み込みはそこそこ出ているのに、書き込みが遅い!
でも、Random R/W 4KBの値は直付USB接続のHDDよりはるかにいい結果。

Sequential Read (Q= 32,T= 1) : 94.442 MB/s
Sequential Write (Q= 32,T= 1) : 30.641 MB/s
Random Read 4KiB (Q= 32,T= 1) : 24.090 MB/s [5881.3 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 14.267 MB/s [3483.2 IOPS]
Sequential Read (T= 1) : 70.039 MB/s
Sequential Write (T= 1) : 25.581 MB/s
Random Read 4KiB (Q= 1,T= 1) :7.251 MB/s [1770.3 IOPS]
Random Write 4KiB (Q= 1,T= 1) :6.136 MB/s [1498.0 IOPS]

このPCは古いこともあって、USB2のポートがない。

でも、Express Cardのスロットがあり、随分前にUSB3のカードを購入。
そこに、USB3のHDDを接続。

もしかしたら、こういうのが影響している?

シーケンシャルの書き込みが遅いというのが納得いかない。

あれやこれやとやってみた。
Sambaのキャッシュやバッファーの設定も変えてみた。

あまり変化なし。

うーん、なんで?と思いながらも、ふと思って、USBメモリを接続。

すると、そこそこのスピードが出た。

どういうこと?

気付いた。

フォーマットが違う!

調べてみると、Linuxに接続する時、NTFSだとどうもオプション的な扱いで、きちんとした性能が出ないらしい。

そこで、ntfs-3gというドライバー(?)をダウンロードして、それを経由して接続。

すると。

Sequential Read (Q= 32,T= 1) : 90.875 MB/s
Sequential Write (Q= 32,T= 1) : 62.620 MB/s
Random Read 4KiB (Q= 32,T= 1) : 23.198 MB/s [5663.6 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 25.197 MB/s [6151.6 IOPS]
Sequential Read (T= 1) : 70.036 MB/s
Sequential Write (T= 1) : 31.664 MB/s
Random Read 4KiB (Q= 1,T= 1) :7.501 MB/s [1831.3 IOPS]
Random Write 4KiB (Q= 1,T= 1) :7.936 MB/s [1937.5 IOPS]

シーケンシャルの書き込み速度がほぼ倍になった!

そういうことか。

じゃぁ、と思って、フォーマットを変えて検証。

【exFAT】(exFATのドライバーをダウンロードして接続)
Sequential Read (Q= 32,T= 1) : 94.247 MB/s
Sequential Write (Q= 32,T= 1) : 67.938 MB/s
Random Read 4KiB (Q= 32,T= 1) : 23.629 MB/s [5768.8 IOPS]
Random Write 4KiB (Q= 32,T= 1) :4.295 MB/s [1048.6 IOPS]
Sequential Read (T= 1) : 69.625 MB/s
Sequential Write (T= 1) : 53.048 MB/s
Random Read 4KiB (Q= 1,T= 1) :7.526 MB/s [1837.4 IOPS]
Random Write 4KiB (Q= 1,T= 1) :2.429 MB/s [593.0 IOPS]

【ext4】
Sequential Read (Q= 32,T= 1) : 93.559 MB/s
Sequential Write (Q= 32,T= 1) : 73.706 MB/s
Random Read 4KiB (Q= 32,T= 1) : 23.382 MB/s [5708.5 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 25.021 MB/s [6108.6 IOPS]
Sequential Read (T= 1) : 69.413 MB/s
Sequential Write (T= 1) : 58.511 MB/s
Random Read 4KiB (Q= 1,T= 1) :6.991 MB/s [1706.8 IOPS]
Random Write 4KiB (Q= 1,T= 1) :8.070 MB/s [1970.2 IOPS]

なるほど。

やはりLinux標準のext4が無難なようだ。

よくわからないのが、exFAT。

Random Writeの4KBが極端に遅い。なんで?

互換性を考えると、exFATかと思っていたけれど、これが極端に遅いのでよくない。

色々と情報を読んでいると、NTFSであれ、exFATであれ、これはLinuxにとっては、オプション扱い。
信頼性のことを考えると、よろしくないようだ。

よって、Linuxでファイルサーバを立ち上げる時のHDDのフォーマットは、ext4やext3にしておくのが無難、ということだろう。
(当然、NASではそれでフォーマットされている。)

じゃぁ、Windows PCにUSB接続したい場合、それを読み書き出来るの?

世の中すごいね。

Ext2Fsd」というソフトを使えば出来るとのこと。今は、ext4もOK。

実際にそれで読み書き出来た。
(ちなみに、ext4にフォーマットしたHDDをWindowsにUSB3で接続してベンチマークを取ってみたけれど、NTFSのものとほとんど変わらない結果だった。優秀だね。)

今回、こういう検証をしていて、いくつか疑問が出てきた。

・上記の情報は、SSDでのもの。これをHDDにしても、ほとんど同じ結果。性能差で言えば、SSDの方がいいのに、違いがあまりないのはどうして?

・どうして、このPCだと、書き込み速度が遅いの?

この2点が疑問点として出てきた。

1つ目の方は、正直、明確な答えはわからない。

HDDで計測しても、Random R/Wの性能がかなりあるので、Sambaが一つのバッファー的な役割を担っているのではないかと。

Windowsで言えば、メモリを使用した、Ramdiskのようなものと言っていいかな?

だから、接続されているのがSSDであれ、HDDであれ、ほとんど性能差が出てこない。

これは僕の憶測なので、正しいかどうかわからない。

実際、ネット上にある情報では、Samba経由での接続なのに、HDDであれば、直付したのと同じような速度になっているものが結構ある。つまり、Random R/Wは遅い。

僕のこの結果であれば、HDDの欠点である、Random R/WをSambaが吸収してくれているので、これはこれでいいと思う。

2つ目の方は、他のPCを使って検証。

同じ環境は出来ないので、UbuntuのLive CDを使ってみた。

UbuntuのLive CDであっても、新規にソフトウェアのインストールって出来るのね。
どこに格納されているのかはわからないけれど。(苦笑)

Sambaは標準では入っていなかったので、インストール。

慣れたもので、ものの数分でWindowsから接続できるようになった!
これは、今回の勉強の賜物だ。(笑)

まず、一つ目。

これはDesktop PCで、USB2のポートに、USB3のHDD(NTFS)を接続。

Sequential Read (Q= 32,T= 1) : 91.668 MB/s
Sequential Write (Q= 32,T= 1) :109.145 MB/s
Random Read 4KiB (Q= 32,T= 1) : 28.961 MB/s [7070.6 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 17.311 MB/s [4226.3 IOPS]
Sequential Read (T= 1) : 92.912 MB/s
Sequential Write (T= 1) : 53.055 MB/s
Random Read 4KiB (Q= 1,T= 1) :5.984 MB/s [1460.9 IOPS]
Random Write 4KiB (Q= 1,T= 1) :6.482 MB/s [1582.5 IOPS]

こっちは、ノートPCで、USB3のポートに、USB3のHDD(NTFS)を接続。

Sequential Read (Q= 32,T= 1) : 88.224 MB/s
Sequential Write (Q= 32,T= 1) :117.740 MB/s
Random Read 4KiB (Q= 32,T= 1) : 23.585 MB/s [5758.1 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 26.354 MB/s [6434.1 IOPS]
Sequential Read (T= 1) : 77.170 MB/s
Sequential Write (T= 1) : 58.891 MB/s
Random Read 4KiB (Q= 1,T= 1) :5.808 MB/s [1418.0 IOPS]
Random Write 4KiB (Q= 1,T= 1) :1.513 MB/s [369.4 IOPS]

どれも、ntfs-3gでマウント。

面白い結果だ。

シーケンシャルの書き込みがどちらも速い!

どちらも、Random Write 4KBに違いがあるのが面白い。この違いはなんだろう?

ちなみに、Vortexboxの入ったノートPCに、Express CardのUSB3に、USB3のHDD(NTFS)を接続。

Sequential Read (Q= 32,T= 1) : 68.621 MB/s
Sequential Write (Q= 32,T= 1) : 31.509 MB/s
Random Read 4KiB (Q= 32,T= 1) : 22.733 MB/s [5550.0 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 13.246 MB/s [3233.9 IOPS]
Sequential Read (T= 1) : 52.421 MB/s
Sequential Write (T= 1) : 23.064 MB/s
Random Read 4KiB (Q= 1,T= 1) :5.488 MB/s [1339.8 IOPS]
Random Write 4KiB (Q= 1,T= 1) :4.972 MB/s [1213.9 IOPS]

やはりシーケンシャルの書き込みが遅い。

この件についての僕なりの結論としては、ハードウェア構成によって、速度の違いが出てくる、というもの。

あと、詳しくは書かないけれど、USB3のポートに接続しても、USB2のポートに接続しても、性能差はそんなにないようだ。これも面白い。
もちろん、USB2のポートの方が数値の低いものもあるけれど、その程度か、と思えるもの。

上記結果の簡単なハードウェア構成。

Desktop PCは、Core2Duo E6420 2.13GHz、メモリ4GB。
ノートPCは、i5 3317U 1.70GHz、メモリ6G。
VortexboxのPCは、T5500 1.66GHz、メモリ2GB。

もちろん、マザーボードの違いやら何やらあるだろうけれど、そこは割愛。

ちなみに、普通にファイルコピーをした場合、例えば、300MBくらいのファイルをWindowsからSamba経由でコピーした場合、どういうファイル・フォーマットであっても、どういうハードウェア構成であっても、それぞれのシーケンシャル・ライトの性能に近い値が出ていた。

とまぁ、今回、Sambaに関して色々と調べてみて思った。

そこそこの性能のあるPCがあるなら、それをファイルサーバにしてもいいだろうけれど、それなりの性能がほしいなら、餅は餅屋に、ということだと思う。

となると、やはりNASに心は傾く。

でも、ふとあることが疑問に。

NASの起動時間ってどのくらいなのだろう?

ネットで調べても、きちんとした答えは得られなかったけれど、数分掛かるらしい。

NASは、日々電源のオンオフをしない常時起動が前提なので、普通の人であれば、起動時間は気にしないのだろう。

でも、常時起動にするつもりがないので、毎回数分待つというのもなぁ、と思う。

Vortexboxは、起動が結構速い。
(ちなみに、Vortexbox2.3は、Fedora20がベースになっている。)

GUIはなく、CUIだけなので、40秒もあれば起動する。もちろん、シャットダウンも速い。

CDプレーヤーの起動時間を考えると、とても遅いけれど、NASとして考えると、かなり速い。

どちら、つまり、性能を取るか起動時間を取るか、だね。(笑)

とにもかくにも、今回の検証での結論。

・Linuxをファイルサーバにする時のHDDのフォーマットは、ext4かext3にするべし

Linuxで動かすのだから、その方が安全だし、信頼性を考えるとその方が良い。

これは僕の環境だけかもしれないけれど、VortexboxのPC(T5500 1.66GHz、メモリ2GB)の場合、Sambaの設定、キャッシュサイズやバッファーサイズ、を変えても、悪くなることはあっても、それほど数値が良くなることはなかった。誤差と言っていいくらい。

よって、smb.confの中で、あえてキャッシュサイズやバッファーサイズを入れず、デフォルトのままでもいいのかもしれない。

続く。

|

« これに決定 | トップページ | ファイルサーバ化計画 ~自動起動、自動終了~ 4/4 »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« これに決定 | トップページ | ファイルサーバ化計画 ~自動起動、自動終了~ 4/4 »