mieki256's diary



2023/01/18(水) [n年前の日記]

#1 [linux] ノートPC上でベンチマークを取ってみた

お袋さん用の旧ノートPC FUJITSU LIFEBOOK AH33/J FMVA33JW1 + Ubuntu Linux 22.04 LTS x64 と、Gateway M-2408j + Linux Mint 21.1 x64 を比較すると、Gateway M-2408j のほうがハードウェアスペックは低いはずなのに、LIFEBOOK AH33/J のほうが起動その他が遅い。おかしい。ベンチマークを取って現状を確認したい。

ハードウェアスペックについて :

Gateway M-2408j のスペックは以下。
  • OS: Linux Mint 21.1 x86_64, Kernel 5.15.0-58-generic
  • CPU: AMD Athlon X2 QL-60 (2) @ 1.900GHz
  • GPU: AMD ATI Mobility Radeon HD 3200
  • Memory: 615MiB / 1722MiB (1GB x 2, DDR2-667/PC2-5300, Dual channel)
  • HDD: HGST HTS542525K9SA00 (Travelstar 5K250, 250GB, 5400rpm, Cache 8MB, Serial ATA150, 9.5 mm)

FUJITSU LIFEBOOK AH33/J FMVA33JW1 のスペックは以下。
  • OS: Ubuntu 22.04.1 LTS x86_64, Kernel: 5.15.0-58-generic
  • CPU: Intel Celeron B820 (2) @ 1.700GHz
  • GPU: Intel 2nd Generation Core Processor Family
  • Memory: 684MiB / 5818MiB (2GB + 6GB, DDR3-1333/PC3-10600, Single channel)
  • HDD: Seagate ST320LT020-9YG142 (320GB, 5400rpm, SATA300, Cache 16MB, 7mm)

巷のベンチマーク結果を眺めると、Athlon64 X2 QL-60 より Celeon B820 のほうが 1.5倍ぐらい速いらしいのだけど。しかし、体感では逆。なんでだろ。

ベンチマークソフトについて :

CPUを測定 :

sysbench --test=cpu run と打てば、CPUの性能について調べることができるらしい。実行すると非推奨のオプションがどうとか表示されるあたりがが気になるけれど、そのあたりの解説記事が見つからないので、そのまま実行してみる。

Gateway M-2408j 上で実行。
$ sysbench --test=cpu run
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time

Prime numbers limit: 10000

Initializing worker threads...

Threads started!

CPU speed:
    events per second:   214.20

General statistics:
    total time:                          10.0003s
    total number of events:              2143

Latency (ms):
         min:                                    4.61
         avg:                                    4.66
         max:                                   15.13
         95th percentile:                        4.74
         sum:                                 9992.38

Threads fairness:
    events (avg/stddev):           2143.0000/0.00
    execution time (avg/stddev):   9.9924/0.00

LIFEBOOK AH33/J 上で実行。
$ sysbench --test=cpu run
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time

Prime numbers limit: 10000

Initializing worker threads...

Threads started!

CPU speed:
    events per second:   514.70

General statistics:
    total time:                          10.0009s
    total number of events:              5150

Latency (ms):
         min:                                    1.94
         avg:                                    1.94
         max:                                    2.74
         95th percentile:                        1.96
         sum:                                 9999.07

Threads fairness:
    events (avg/stddev):           5150.0000/0.00
    execution time (avg/stddev):   9.9991/0.00

どこを見ればいいのか分からんけど…。たぶん、「CPU speed」「events per second」のあたりを見ればいいのかな。1秒間にどれだけ処理できたか、ということだろうし。

  • M-2408j (Athlon64 x2 QL-60) は、214.20。
  • LIFEBOOK AH33/J (Celeron B820) は、514.70。

おそらく Celeron B820 のほうが速いのだろう。つまり、CPUは、ちゃんと LIFEBOOK AH33/J のほうが速い。たぶん。

メモリを測定。 :

sysbench --test=memory run と打てば、メモリの速度を測定できるらしい。

M-2408j を測定。
$ sysbench --test=memory run
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time

Running memory speed test with the following options:
  block size: 1KiB
  total size: 102400MiB
  operation: write
  scope: global

Initializing worker threads...

Threads started!

Total operations: 2094157 (209318.02 per second)

2045.08 MiB transferred (204.41 MiB/sec)

General statistics:
    total time:                          10.0002s
    total number of events:              2094157

Latency (ms):
         min:                                    0.00
         avg:                                    0.00
         max:                                    0.41
         95th percentile:                        0.00
         sum:                                 3430.46

Threads fairness:
    events (avg/stddev):           2094157.0000/0.00
    execution time (avg/stddev):   3.4305/0.00

LIFEBOOK AH33/J を測定。
$ sysbench --test=memory run
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time

Running memory speed test with the following options:
  block size: 1KiB
  total size: 102400MiB
  operation: write
  scope: global

Initializing worker threads...

Threads started!

Total operations: 24866139 (2485276.02 per second)

24283.34 MiB transferred (2427.03 MiB/sec)

General statistics:
    total time:                          10.0001s
    total number of events:              24866139

Latency (ms):
         min:                                    0.00
         avg:                                    0.00
         max:                                    0.96
         95th percentile:                        0.00
         sum:                                 4299.46

Threads fairness:
    events (avg/stddev):           24866139.0000/0.00
    execution time (avg/stddev):   4.2995/0.00

これまたどこを見ればいいのかわからんけど…。MiB/sec と書かれてるあたりを見ればいいのだろうか。1秒間に何MB転送できたか、という値なのだろう。たぶん。

  • M-2408j (1GB x 2, DDR2-667/PC2-5300, Dual channel) は、204.41 MiB/sec。
  • LIFEBOOK AH33/J (2GB + 6GB, DDR3-1333/PC3-10600, Single channel) は、2427.03 MiB/sec。

これもまた、LIFEBOOK AH33/J のほうが速い。しかも桁違いに速い。シングルチャネルだから遅いのかなと疑っていたけれど、DDR2 と DDR3 の違いのほうが大きいのだろうか。クロックが全然違うもんな…。

File I/Oを測定。 :

File I/O も sysbench で調べられるけど、書き込みはともかく読み込みも調べる場合は、テスト用のファイルを作っておく必要がある。大量のファイルが作られてしまうから、作業用のディレクトリを作成して、その中にテスト用ファイルを作ったほうがいいらしい。

なので、おおよそ以下を打ち込むことになる模様。
$ mkdir temp
$ cd temp
$ sysbench --test=fileio --file-total-size=1G prepare
$ sysbench --test=fileio --file-total-size=1G --file-test-mode=rndrw run
$ sysbench --test=fileio --file-total-size=1G cleanup
  • mkdir で作業用ディレクトリを作成して、
  • cd でそのディレクトリに入って、
  • 最初の sysbench でテスト用ファイルを作成、
  • 2つ目の sysybench で測定、
  • 3つ目の sysbench でテスト用ファイルを削除する。

M-2408j を測定。
$ sysbench --test=fileio --file-total-size=1G --file-test-mode=rndrw run
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time

Extra file open flags: (none)
128 files, 8MiB each
1GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...

Threads started!

File operations:
    reads/s:                      81.14
    writes/s:                     54.09
    fsyncs/s:                     173.19

Throughput:
    read, MiB/s:                  1.27
    written, MiB/s:               0.85

General statistics:
    total time:                          10.3492s
    total number of events:              3065

Latency (ms):
         min:                                    0.02
         avg:                                    3.26
         max:                                   62.78
         95th percentile:                       13.70
         sum:                                 9983.93

Threads fairness:
    events (avg/stddev):           3065.0000/0.00
    execution time (avg/stddev):   9.9839/0.00

LIFEBOOK AH33/J を測定。
$ sysbench --test=fileio --file-total-size=1G --file-test-mode=rndrw run
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time


Extra file open flags: (none)
128 files, 8MiB each
1GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...

Threads started!


File operations:
    reads/s:                      123.62
    writes/s:                     82.41
    fsyncs/s:                     269.99

Throughput:
    read, MiB/s:                  1.93
    written, MiB/s:               1.29

General statistics:
    total time:                          10.1884s
    total number of events:              4724

Latency (ms):
         min:                                    0.00
         avg:                                    2.12
         max:                                  127.80
         95th percentile:                       13.46
         sum:                                 9992.38

Threads fairness:
    events (avg/stddev):           4724.0000/0.00
    execution time (avg/stddev):   9.9924/0.00

これまたどこを見ればいいのかわからんのだけど…。「Throughput」のところで、MiB/S という単位が出てるから、そこが1秒間あたりに何MB転送できたか、という値なのだろう。たぶん。

  • M-2408j (HGST HTS542525K9SA00, 250GB, 5400rpm, SATA150, Cache 8MB) は、read 1.27 MiB/s, write 0.85 MiB/S。
  • LIFEBOOK AH33/J (Seagate ST320LT020-9YG142, 320GB, 5400rpm, SATA300, Cache 16MB) は、read 1.93 MiB/s, write 1.29 MiB/s。

これもまた、LIFEBOOK AH33/J のほうが速い。HDDだから、CPUやメモリほど全然違う差が出るわけではないけれど、それでも速い。

ついでに、hdparm でHDDの速度測定をしてみた。

M-2408j を測定。
$ sudo hdparm -tT /dev/sda

/dev/sda:
Timing cached reads:   1612 MB in  2.00 seconds = 805.62 MB/sec
Timing buffered disk reads: 172 MB in  3.01 seconds =  57.08 MB/sec

LIFEBOOK AH33/J を測定。
$ sudo hdparm -tT /dev/sda

/dev/sda:
Timing cached reads:   5262 MB in  2.00 seconds = 2637.05 MB/sec
Timing buffered disk reads: 248 MB in  3.01 seconds =  82.35 MB/sec

  • M-2408j は、57.08 MB/sec。
  • LIFEBOOK AH33/J は、82.35 MB/sec。

やはり、LIFEBOOK AH33/J のほうが速い。

結論。 :

ハードウェアスペック通りに、M-2408j より LIFEBOOK AH33/J のほうが、ベンチマーク上では速いことが分かった。

でも、LIFEBOOK AH33/J のほうが起動が遅い…。
  • M-2408j は、grub表示画面が消えてから LightDM が表示されるまで、1分ぐらいで起動する。
  • LIFEBOOK AH33/J は 3分6秒〜2分10秒ぐらいかかる。
性能が高いほうが時間がかかっているのは何故だろう。

余談。 :

消費電力は結構違いがある。ACアダプタ駆動で、ワットチェッカーを使って測ってみたけど…。
  • M-2408j は、アイドル状態で66W。何か処理をさせても66Wで変わらない。
  • LIFEBOOK AH33/J は、アイドル状態で7〜13W。何か処理をさせると20Wぐらいになる。
数分の一の消費電力でまあまあそこそこ動いてしまうのだから、後者もそれなりにイイ感じなPCのような気もしてくる…。

以上です。

過去ログ表示

Prev - 2023/01 - Next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project