Sambaサーバの性能が出ない その1 (FreeBSD 11.2R、2018/09/02) [仮想化]
仮想化を目的として購入したマザーボードASRock J4105-ITXですが、いろいろと苦戦しています。仮想化は使い勝手が良さそうだったXenServerをベースに構築したのですが、XenServer上に展開したFreeBSDにおいて、Sambaサーバへのデータリストア(=ファイルコピー)の転送速度が落ち込むことが分かりました。
Windows上に待避させていた500GBのデータ(ほとんどゴミですが)を、FreeBSD上のSambaにCIFSプロトコル経由でコピーさせ続けた場合、後半になって(総量450GBぐらいのコピー完了間近?)、転送速度が著しく落ち込む現象が発生しました。
Windowsエクスプローラーの目視では、0MB/sが10~20秒ほと続き、数秒間不安定ながら10~15MB/sの転送速度を示し、また0MB/sが10~20秒ほど続くといった感じでした。再現性はあるので、改めて実施しデータを取得してみます。
■パケットキャプチャの実施
事象の発生時、Winodowsパソコン上で、WireSharkを使ってパケットキャプチャしてみました。メモリがすぐにいっぱいにならないよう、キャプチャフィルタでTCP/445に限定するのと、スライシングで256byteにカットしています。
その結果、エラーや再送等の通信品質には問題はなかったのですが、TCP ZeroWindowが多発していることが分かりました。これが0MB/sが15~20秒続く直接的な原因という訳です。
FreeBSD側がTCP ZeroWindowを発令しているということは、Sambaサーバ側の処理が手一杯になり、待ったをかけている状態ということです。まぁ、Sambaサーバ側でWriteしている状態なので、おおよそ書き込みI/Oが間に合っていないのではないでしょうか。
topでプロセスを確認してみると、上記を裏付けるかのようにsmbdのstateに「wdrain」が頻発していました。
その時に取得したiostatのデータです。私の体感を裏付けるような数値となっています。
ちなみに、コピーし始めの調子の良いときはこんな数字です。
XenServerの中身はまんまLinuxなので、dom0側でも情報を取得してみました。iowaitの数字からして、完全にI/Oが詰まってしまっていますね。
Windows上に待避させていた500GBのデータ(ほとんどゴミですが)を、FreeBSD上のSambaにCIFSプロトコル経由でコピーさせ続けた場合、後半になって(総量450GBぐらいのコピー完了間近?)、転送速度が著しく落ち込む現象が発生しました。
Windowsエクスプローラーの目視では、0MB/sが10~20秒ほと続き、数秒間不安定ながら10~15MB/sの転送速度を示し、また0MB/sが10~20秒ほど続くといった感じでした。再現性はあるので、改めて実施しデータを取得してみます。
■パケットキャプチャの実施
事象の発生時、Winodowsパソコン上で、WireSharkを使ってパケットキャプチャしてみました。メモリがすぐにいっぱいにならないよう、キャプチャフィルタでTCP/445に限定するのと、スライシングで256byteにカットしています。
その結果、エラーや再送等の通信品質には問題はなかったのですが、TCP ZeroWindowが多発していることが分かりました。これが0MB/sが15~20秒続く直接的な原因という訳です。
FreeBSD側がTCP ZeroWindowを発令しているということは、Sambaサーバ側の処理が手一杯になり、待ったをかけている状態ということです。まぁ、Sambaサーバ側でWriteしている状態なので、おおよそ書き込みI/Oが間に合っていないのではないでしょうか。
topでプロセスを確認してみると、上記を裏付けるかのようにsmbdのstateに「wdrain」が頻発していました。
その時に取得したiostatのデータです。私の体感を裏付けるような数値となっています。
root@mybsd:~ # iostat 1 tty ada0 ada1 cd0 cpu tin tout KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s us ni sy in id 0 79 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100 0 83 32.24 69 2.17 31.29 70 2.14 0.00 0 0.00 0 0 0 0 100 0 76 31.86 317 9.88 31.95 317 9.91 0.00 0 0.00 0 0 0 0 100 0 79 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100 0 79 4.00 1 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100 0 79 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100 0 79 4.00 1 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100 0 79 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100 0 79 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100 0 79 0.50 1 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100 0 79 2.83 3 0.01 40.00 1 0.04 0.00 0 0.00 0 0 1 0 99 0 78 32.00 192 6.00 30.92 198 5.98 0.00 0 0.00 0 0 0 0 100 0 79 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100 0 79 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100 0 79 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100 0 79 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100 0 79 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100 0 79 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100 0 79 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100 0 79 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100 0 79 31.88 257 8.00 31.76 258 8.00 0.00 0 0.00 0 0 0 0 100 0 79 32.00 448 14.00 32.00 448 14.00 0.00 0 0.00 0 0 0 0 99 0 78 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100 0 79 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100 0 79 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100 0 79 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100 0 79 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100 0 79 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100 0 79 32.00 192 6.00 31.84 193 6.00 0.00 0 0.00 0 0 0 0 100 0 79 32.00 192 6.00 32.00 192 6.00 0.00 0 0.00 0 0 0 0 100 0 79 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100 0 79 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100 0 79 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0 0 0 0 100
ちなみに、コピーし始めの調子の良いときはこんな数字です。
root@mybsd:~ # iostat 1 tty ada0 ada1 cd0 cpu tin tout KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s us ni sy in id 0 79 32.00 896 28.00 32.00 896 28.00 0.00 0 0.00 0 0 0 0 100 0 79 31.93 894 27.88 31.93 894 27.88 0.00 0 0.00 0 0 0 0 100 0 79 32.00 960 30.00 32.00 960 30.00 0.00 0 0.00 0 0 0 0 100 0 79 32.00 964 30.13 32.00 964 30.13 0.00 0 0.00 0 0 0 0 100 0 80 32.00 838 26.20 32.00 838 26.20 0.00 0 0.00 0 0 0 0 100 0 78 32.00 953 29.78 32.00 961 30.03 0.00 0 0.00 0 0 0 0 100 0 79 31.97 953 29.75 31.93 946 29.50 0.00 0 0.00 0 0 0 0 100 0 79 32.00 840 26.25 32.00 840 26.25 0.00 0 0.00 0 0 0 0 100 0 79 32.00 960 30.00 32.00 960 30.00 0.00 0 0.00 0 0 0 0 100 0 79 32.00 768 24.00 32.00 768 24.00 0.00 0 0.00 0 0 0 0 100 0 79 31.95 962 30.01 31.95 962 30.01 0.00 0 0.00 0 0 0 0 100 0 79 32.00 888 27.75 31.96 889 27.75 0.00 0 0.00 0 0 0 0 100 0 79 32.00 942 29.43 32.00 950 29.68 0.00 0 0.00 0 0 0 0 100 0 79 32.00 922 28.82 32.00 914 28.57 0.00 0 0.00 0 0 0 0 100 0 79 32.00 952 29.75 32.00 952 29.75 0.00 0 0.00 0 0 0 0 100 0 82 31.96 881 27.49 31.96 881 27.49 0.00 0 0.00 0 0 0 0 100
XenServerの中身はまんまLinuxなので、dom0側でも情報を取得してみました。iowaitの数字からして、完全にI/Oが詰まってしまっていますね。
[root@xenserver ~]# vmstat 1 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 1 114244 20648 202608 142380 0 0 0 20735 1747 1145 3 4 71 22 0 0 1 114244 20648 202624 142384 0 0 1 12563 1282 1028 2 3 75 21 0 0 1 114244 20648 202636 142384 0 0 0 28931 2061 1173 5 5 71 19 0 0 1 114244 20464 202652 142376 0 0 4 24854 1976 1190 5 4 71 20 0 0 1 114244 20400 202672 142380 0 0 0 20697 2325 1639 4 8 68 20 1 0 1 114244 20484 202696 142396 0 0 0 20737 1802 1187 3 4 71 22 0 0 1 114244 20484 202716 142412 0 0 1 24899 1883 1163 4 4 72 20 1 0 1 114244 20484 202728 142408 0 0 0 20697 1567 1040 4 4 72 21 0 0 1 114244 20468 202736 142416 0 0 0 20665 1792 1202 4 4 71 20 0 1 0 114244 20588 202756 142380 8 0 8 21917 2218 1445 4 7 68 20 0 0 3 114244 20732 202772 142536 0 0 112 19481 1596 1089 3 3 73 21 0 0 2 114244 20732 202784 142496 0 0 0 96 725 932 0 0 60 40 0 0 2 114244 20716 202784 142508 0 0 0 0 686 955 1 0 50 50 0 0 2 114244 20568 202784 142508 0 0 0 0 724 929 0 2 49 49 0 0 2 114244 20188 202792 142496 0 0 0 32 1010 1211 1 3 46 49 0 0 2 114244 20292 202792 142504 0 0 0 0 519 796 0 0 50 50 0 0 2 114244 20292 202800 142508 0 0 0 48 664 872 0 0 50 50 0 0 1 114244 20576 202824 142488 0 0 0 37203 2699 1392 6 7 69 18 0 0 1 114244 20496 202832 142500 0 0 0 20665 1775 1149 3 5 73 19 0 0 1 114240 20544 202852 142492 0 0 4 19669 2062 1363 4 7 68 20 0 0 1 114240 20576 202864 142512 0 0 0 17625 1459 1064 2 4 74 20 0 1 0 114240 20576 202880 142516 0 0 0 21837 1840 1163 3 5 71 22 0 2 0 114240 20576 202900 142508 0 0 0 22388 1775 1072 3 5 72 21 0 0 1 114240 20472 202924 142500 0 0 0 36114 2334 1289 5 6 73 15 0 0 1 114240 20200 202944 142504 0 0 0 20701 2342 1716 4 7 69 20 0 0 1 114240 20352 202952 142516 0 0 0 20702 1661 1050 4 3 73 21 0 2 0 114240 20352 202976 142512 0 0 0 30261 2402 1373 5 5 71 19 0 2 0 114240 20352 202992 142504 0 0 0 21249 1616 1034 3 4 63 29 0
コメント 0