そこで,コア数の違いによるパフォーマンスは,どうなのだろうかと思い,簡単なベンチマークテストをしてみることにしました.使用したベンチマークソフトは,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: 2
Number of threads: 4
Number of threads: 8
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が,
しかし,4スレッドでは4.8秒と,コア数の増加に応じて時間が更に短くなっていることが分かります.ベンチマークを測定していたときも,4スレッドの時は,測定が終了するのが1スレッドや2スレッドよりも明らかに早いのを実感できました.試しに測定した8スレッドでは,4スレッドと同じ結果となりました.
この結果を見ると,周辺機器がすっきりしたこと以外に,CPUのコア数を増やした効果が,数値ではっきりと分かり,サーバを交換した甲斐があったと実感できます.もちろん新旧サーバで,ストレージ容量が4倍程度違うのは,ファイル共有する上で重要ですし,その時にもCPUの性能差が影響すると思われます.
また,今後,ZFSによるRAID-Zを構築する時や,DLNA機能を実現する時にも,CPUの性能差が現れると思われます.
なお,DLNAサーバについては,Rygel, MiniDLNA, MediaTombのどれを使うか,検討中です.
面倒だったので,LIVA Xは,BIOSの初期化と一部設定変更を行い,USB無線LAN子機を取り外し,OSとパッケージの再インストールと再設定を行ったところ,正常に戻りました.
0 件のコメント:
コメントを投稿