SSブログ

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のデータです。私の体感を裏付けるような数値となっています。
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



nice!(0)  コメント(0) 
共通テーマ:日記・雑感

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。