2016年11月5日土曜日

SysBenchで新旧Linuxサーバを比較

 早速,稼働させている新LinuxサーバのGB-BACE-3150ですが,LIVA Xと比べると,OSの起動速度が少し遅くなったのは分かるのですが(SSDからHDDに変わったので,当然遅くなります),それ以外の性能差を,あまり,実感出来ていません.パッケージのインストールが早くなったのは確かなのですが,それ以外といわれると,すぐには思いつきません.


 そこで,コア数の違いによるパフォーマンスは,どうなのだろうかと思い,簡単なベンチマークテストをしてみることにしました.使用したベンチマークソフトは,SysBenchです.

 CPUのベース周波数は,ほとんど同じ(1.58GHz@LIVA X, 1.6GHz@GB-BACE-3150)で,バースト周波数は,LIVA X(N2808)の方が少し高い(2.25GHz@LIVA X, 2.08GHz@GB-BACE-3150)です.そのため,CPUコア数の違いが,ベンチマーク結果に大きく影響すると考えられます.

 コマンドは,
 $ sysbench --num-threads=スレッド数 --test=cpu run
で,スレッド数を1,2,4,8と変えて,測定しました.

 まず,LIVA X@Celeron N2808の結果です.
Number of threads: 1
Test execution summary:
    total time:                          20.2064s
    total number of events:              10000
    total time taken by event execution: 20.1700
    per-request statistics:
         min:                                  1.91ms
         avg:                                  2.02ms
         max:                                603.76ms
         approx.  95 percentile:               1.96ms
Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   20.1700/0.00

Number of threads: 2

Test execution summary:
    total time:                          19.4150s
    total number of events:              10000
    total time taken by event execution: 38.7615
    per-request statistics:
         min:                                  1.91ms
         avg:                                  3.88ms
         max:                                  9.97ms
         approx.  95 percentile:               5.96ms
Threads fairness:
    events (avg/stddev):           5000.0000/1.00
    execution time (avg/stddev):   19.3807/0.00

Number of threads: 4

Test execution summary:
    total time:                          20.2074s
    total number of events:              10000
    total time taken by event execution: 80.6814
    per-request statistics:
         min:                                  1.91ms
         avg:                                  8.07ms
         max:                                637.97ms
         approx.  95 percentile:              13.96ms
Threads fairness:
    events (avg/stddev):           2500.0000/1.22
    execution time (avg/stddev):   20.1703/0.02

Number of threads: 8

Test execution summary:
    total time:                          19.4369s
    total number of events:              10000
    total time taken by event execution: 155.0731
    per-request statistics:
         min:                                  1.91ms
         avg:                                 15.51ms
         max:                                 52.11ms
         approx.  95 percentile:              29.96ms
Threads fairness:
    events (avg/stddev):           1250.0000/0.50
    execution time (avg/stddev):   19.3841/0.03

 Test execution summaryの total timeを見ると,スレッド数によらず,約20秒です.2スレッド以上は変化しないと思ったのですが,1スレッドでも同じだったのは,意外です.何度か測定しても同じ結果なので,測定ミスではないと思います.もしかすると,1スレッドではバースト周波数で動作し,2スレッドではベース周波数で動作したのかもしれません.


 BIOSの設定を見直して,不調だったOSも再インストールしました.
Number of threads: 1
Test execution summary:
    total time:                          19.3149s
    total number of events:              10000
    total time taken by event execution: 19.2785
    per-request statistics:
         min:                                  1.91ms
         avg:                                  1.93ms
         max:                                  3.14ms
         approx.  95 percentile:               1.94ms
Threads fairness:
    events (avg/stddev):           10000.0000/0.00

    execution time (avg/stddev):   19.2785/0.00

Number of threads: 2
Test execution summary:
    total time:                          9.6954s
    total number of events:              10000
    total time taken by event execution: 19.3524
    per-request statistics:
         min:                                  1.91ms
         avg:                                  1.94ms
         max:                                  3.70ms
         approx.  95 percentile:               1.95ms
Threads fairness:
    events (avg/stddev):           5000.0000/0.00

    execution time (avg/stddev):   9.6762/0.00

Number of threads: 4
Test execution summary:
    total time:                          10.0965s
    total number of events:              10000
    total time taken by event execution: 40.2783
    per-request statistics:
         min:                                  1.91ms
         avg:                                  4.03ms
         max:                                133.94ms
         approx.  95 percentile:               9.95ms
Threads fairness:
    events (avg/stddev):           2500.0000/50.85

    execution time (avg/stddev):   10.0696/0.02

Number of threads: 8
Test execution summary:
    total time:                          9.7015s
    total number of events:              10000
    total time taken by event execution: 77.4154
    per-request statistics:
         min:                                  1.91ms
         avg:                                  7.74ms
         max:                                 35.66ms
         approx.  95 percentile:              13.96ms
Threads fairness:
    events (avg/stddev):           1250.0000/3.74

    execution time (avg/stddev):   9.6769/0.02

 Test execution summaryのtotal timeを見ると,1スレッドの時は約19秒(19.3秒)なのに対して,2スレッドの時はその半分の約10秒(9.7秒)になっています.一方,4スレッド以上は,2スレッドの時と同じ,約10秒です.

 続いて,GB-BACE-3150@Celeron N3150の結果です.
Number of threads: 1
Test execution summary:
    total time:                          19.2198s
    total number of events:              10000
    total time taken by event execution: 19.2173
    per-request statistics:
         min:                                  1.92ms
         avg:                                  1.92ms
         max:                                  4.25ms
         approx.  95 percentile:               1.93ms
Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   19.2173/0.00

Number of threads: 2
Test execution summary:
    total time:                          9.6150s
    total number of events:              10000
    total time taken by event execution: 19.2240
    per-request statistics:
         min:                                  1.92ms
         avg:                                  1.92ms
         max:                                  4.25ms
         approx.  95 percentile:               1.92ms
Threads fairness:
    events (avg/stddev):           5000.0000/0.00
    execution time (avg/stddev):   9.6120/0.00

Number of threads: 4
Test execution summary:
    total time:                          4.8126s
    total number of events:              10000
    total time taken by event execution: 19.2382
    per-request statistics:
         min:                                  1.92ms
         avg:                                  1.92ms
         max:                                  6.57ms
         approx.  95 percentile:               1.92ms
Threads fairness:
    events (avg/stddev):           2500.0000/1.00
    execution time (avg/stddev):   4.8095/0.00

Number of threads: 8
Test execution summary:
    total time:                          4.8117s
    total number of events:              10000
    total time taken by event execution: 38.4065
    per-request statistics:
         min:                                  1.92ms
         avg:                                  3.84ms
         max:                                 33.92ms
         approx.  95 percentile:              13.92ms
Threads fairness:
    events (avg/stddev):           1250.0000/75.67
    execution time (avg/stddev):   4.8008/0.01

 こちらは,Test execution summaryのtotal timeが,1スレッドの時は,LIVA Xと同じ約20秒(19.2秒)ですが,2スレッドでは9.6秒,1スレッドの時はLIVA Xと同じで約19秒(19.2秒),2スレッドのときもLIVA Xと同じで約10秒(9.6秒)です.
 しかし,4スレッドでは4.8秒と,コア数の増加に応じて時間が更に短くなっていることが分かります.ベンチマークを測定していたときも,4スレッドの時は,測定が終了するのが1スレッドや2スレッドよりも明らかに早いのを実感できました.試しに測定した8スレッドでは,4スレッドと同じ結果となりました.

 この結果を見ると,周辺機器がすっきりしたこと以外に,CPUのコア数を増やした効果が,数値ではっきりと分かり,サーバを交換した甲斐があったと実感できます.もちろん新旧サーバで,ストレージ容量が4倍程度違うのは,ファイル共有する上で重要ですし,その時にもCPUの性能差が影響すると思われます.
 また,今後,ZFSによるRAID-Zを構築する時や,DLNA機能を実現する時にも,CPUの性能差が現れると思われます.
 なお,DLNAサーバについては,Rygel, MiniDLNA, MediaTombのどれを使うか,検討中です.

 ちなみに,このベンチマーク測定の前後から,旧サーバが不調です.たまに,シャットダウン命令がエラーを吐きます.systemdに問題があるようだというところまでは分かったのですが,解決方法が分からないため,再インストール確定でしょうか.3年強のブランクは大きいです.
 面倒だったので,LIVA Xは,BIOSの初期化と一部設定変更を行い,USB無線LAN子機を取り外し,OSとパッケージの再インストールと再設定を行ったところ,正常に戻りました.

0 件のコメント:

コメントを投稿