Linux System Benchmark Test

Windows platform has RuMaster (Entertainment Master), which isn’t known for highly accurate data, but it’s still useful as a reference. Of course, there are other professional benchmarking software options available. When it comes to Linux systems, there haven’t seemed to be any particularly suitable benchmarking software found.

Sysbench is a versatile benchmark testing tool that can be used to test CPU, memory, file I/O, thread performance, and more. You can use Sysbench to execute various performance testing tasks.

I currently have three machines available for testing: the Mechanical Artist mini laptop, a local small host machine, an Alibaba Cloud Dev development cloud server, and a Huawei Cloud Dev server.

Installing Sysbench

On most Linux distributions, you can use the package manager to install Sysbench. For example, on CentOS 8, you can use the following command:

sudo dnf install sysbench

Sysbench Usage Examples

  • Testing CPU performance: sysbench --test=cpu run
  • Testing memory read performance: sysbench --test=memory run
  • Testing file I/O performance:
sysbench --test=fileio --file-test-mode=rndrw prepare
sysbench --test=fileio --file-test-mode=rndrw run
sysbench --test=fileio --file-test-mode=rndrw cleanup
  • Testing multi-threaded performance: sysbench --test=threads --num-threads=4 run
  • Testing MySQL database performance (requires adjusting the maximum connection number):
sysbench --test=oltp --db-driver=mysql --mysql-db=test --mysql-user=yourusername --mysql-password=yourpassword --oltp-table-size=1000000 prepare
sysbench --test=oltp --db-driver=mysql --mysql-db=test --mysql-user=yourusername --mysql-password=yourpassword --max-time=60 --oltp-read-only=off --oltp-test-mode=complex --max-requests=0 run
sysbench --test=oltp --db-driver=mysql --mysql-db=test --mysql-user=yourusername --mysql-password=yourpassword cleanup

Score Report

Run Score Report

ABCD
1
Local TechnicianAlibaba CloudHuawei Cloud
2
System ConfigurationSystem Information
Operating System Ubuntu 23.04
Kernel Linux 6.2.0-36-generic x86_64
Model Machenike Machenike DT Computer
Motherboard Machenike Machenike DT Computer
BIOS American Megatrends International, LLC.
DB19V012

CPU Information
Name Intel Core i7-12650H
Topology 1 Processor, 10 Cores, 16 Threads
Identifier GenuineIntel Family 6 Model 154 Stepping 3
Base Frequency 4.60 GHz
L1 Instruction Cache 32.0 KB x 8
L1 Data Cache 48.0 KB x 8
L2 Cache 1.25 MB x 2
L3 Cache 24.0 MB

Memory Information
Size 62.6 GB
System Information
Operating System CentOS Stream 8
Kernel Linux 4.18.0-513.el8.x86_64 x86_64
Model Alibaba Cloud Alibaba Cloud ECS
Motherboard N/A
BIOS SeaBIOS 449e491

CPU Information
Name Intel(R) Xeon(R) Platinum
Topology 1 Processor, 1 Core, 2 Threads
Identifier GenuineIntel Family 6 Model 85 Stepping 4
Base Frequency 2.50 GHz
L1 Instruction Cache 32.0 KB
L1 Data Cache 32.0 KB
L2 Cache 1.00 MB
L3 Cache 33.0 MB

Memory Information
Size 1.65 GB
System Information
Operating System Ubuntu 22.04.1 LTS
Kernel Linux 5.15.0-60-generic x86_64
Model OpenStack Foundation OpenStack Nova - 64 GB
3
CPUsysbench 1.0.20 (using
  • Benchmark Data Report 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: 4032.48

    General statistics:
    total time: 10.0004s
    total number of events: 40330

    Latency (ms):
    min: 0.25
    avg: 0.25
    max: 0.73
    95th percentile: 0.25
    sum: 9997.55

    Threads fairness:
    events (avg/stddev): 40330.0000/0.00
    execution time (avg/stddev): 9.9975/0.00

  • 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: 1062.51

    General statistics:
    total time: 10.0008s
    total number of events: 10628

    Latency (ms):
    min: 0.91
    avg: 0.94
    max: 22.84
    95th percentile: 1.06
    sum: 9993.46

    Threads fairness:
    events (avg/stddev): 10628.0000/0.00
    execution time (avg/stddev): 9.9935/0.00

  • 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: 1125.56

    General statistics:
    total time: 10.0005s
    total number of events: 11258

    Latency (ms):
    min: 0.86
    avg: 0.89
    max: 1.70
    95th percentile: 0.99
    sum: 9995.40

    Threads fairness:
    events (avg/stddev): 11258.0000/0.00
    execution time (avg/stddev): 9.9954/0.00

  • 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: 101993199 (10198146.52 per second)

    99602.73 MiB transferred (9959.13 MiB/sec)< - Benchmark Data Report 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: 4032.48

    General statistics:
    total time: 10.0004s
    total number of events: 40330

    Latency (ms):
    min: 0.25
    avg: 0.25
    max: 0.73
    95th percentile: 0.25
    sum: 9997.55

    Threads fairness:
    events (avg/stddev): 40330.0000/0.00
    execution time (avg/stddev): 9.9975/0.00

  • 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: 1062.51

    General statistics:
    total time: 10.0008s
    total number of events: 10628

    Latency (ms):
    min: 0.91
    avg: 0.94
    max: 22.84
    95th percentile: 1.06
    sum: 9993.46

    Threads fairness:
    events (avg/stddev): 10628.0000/0.00
    execution time (avg/stddev): 9.9935/0.00

  • 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: 1125.56

    General statistics:
    total time: 10.0005s
    total number of events: 11258

    Latency (ms):
    min: 0.86
    avg: 0.89
    max: 1.70
    95th percentile: 0.99
    sum: 9995.40

    Threads fairness:
    events (avg/stddev): 11258.0000/0.00
    execution time (avg/stddev): 9.9954/0.00

  • 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: 101993199 (10198146.52 per second)

    99602.73 MiB transferred (9959.13 MiB/sec)<

  • Run Score Reports 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: 48418803 (4841004.79 per second)

    47283.99 MiB transferred (4727.54 MiB/sec)


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

    Latency (ms):
    min: 0.00
    avg: 0.00
    max: 25.26
    95th percentile: 0.00
    sum: 4578.95

    Threads fairness:
    events (avg/stddev): 48418803.0000/0.00
    execution time (avg/stddev): 4.5789/0.00

  • Machine Learning

  • Neural Networks - Run Score Reports 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: 48418803 (4841004.79 per second)

    47283.99 MiB transferred (4727.54 MiB/sec)


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

    Latency (ms):
    min: 0.00
    avg: 0.00
    max: 25.26
    95th percentile: 0.00
    sum: 4578.95

    Threads fairness:
    events (avg/stddev): 48418803.0000/0.00
    execution time (avg/stddev): 4.5789/0.00

  • Machine Learning

  • Neural Networks

Score Report Data

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: 1593.12
writes/s: 1062.08
fsyncs/s: 3406.64

Throughput:
read, MiB/s: 24.89
written, MiB/s: 16.60

General statistics:
total time: 10.0164s
total number of events: 60600

Latency (ms):
min: 0.00
avg: 0.16
max: 31.32
95th percentile: 0.54
sum: 9956.30

Threads fairness:
events (avg/stddev): 60600.0000/0.00
execution time (avg/stddev): 9.9563/0.00


2147483648 bytes written in 18.29 seconds (111.98 MiB/sec).

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


Extra file open flags: (none)
128 files, 16MiB each
2GiB 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: 1665.88
writes/s: 1110.59
fsyncs/s: 3563.77

Throughput:
read, MiB/s: 26.03
written, MiB/s: 17.35

General statistics:
total time: 10.0112s
total number of events: 63355

Latency (ms):
min: 0.00
avg: 0.16
max: 205.01
95th percentile: 0.78
sum: 9972.64

Threads fairness:
events (avg/stddev): 63355.0000/0.00
execution time (avg/stddev): 9.9726/0.00


6
Multi-threadedRunning the test with following options:
Number of threads: 4
Initializing random number generator from current time


Initializing worker threads...

Threads started!


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

Latency (ms):
min: 0

Score Report

sum:                                40050.41<br><br>Threads fairness:<br>    events (avg/stddev):           4590.0000/94.36<br>    execution time (avg/stddev):   10.0126/0.00

Running the test with following options:
Number of threads: 4
Initializing random number generator from current time<br><br><br>
Initializing worker threads...<br><br>
Threads started!<br><br><br>
General statistics:
    total time:                          10.0004s
    total number of events:              28536<br><br>
Latency (ms):
         min:                                    0.23
         avg:                                    1.40
         max:                                    3.56
         95th percentile:                        1.47
         sum:                                39975.16<br><br>
Threads fairness:<br>    events (avg/stddev):           7134.0000/39.87
    execution time (avg/stddev):   9.9938/0.01

Epilogue

Whether ChatGPT is a good thing or not, the table above could not be arranged according to the previously mastered Markdown, and it was not made into a table to display, which would result in a very poor effect. Customizing the theme limited the maximum page width, and a series of page configurations were adjusted accordingly, changing the width to percentage limits.

  • A simple method is to use tools like TablesGenerator to generate HTML tables (content complexity is not suitable).
  • Or write it using Google Docs online and then download and save it as an HTML document, directly copy it into the blog (simple and direct, ultimately adopted). Ensure that the config configuration is enabled with unsafe configuration items, and independently configure the page width. In Hugo, you can set the width of a page individually. This can be achieved by adding a custom parameter in the page’s Front Matter. Here’s an example:
  1. In your Markdown page’s Front Matter section (usually at the beginning of the file), add a custom parameter such as custom_width:
---
title: "My Page"
date: 2024-01-09
custom_width: "800px"  # Set width to 800 pixels
---

Content...
  1. In your Hugo theme, find or create the corresponding single page template file (e.g., layouts/_default/single.html).
  2. In the single page template, check if there is a custom_width parameter in the Front Matter and apply it to the appropriate HTML elements, such as div:
{{ define "main" }}
  <div style="max-width: {{ with .Params.custom_width }}{{ . }}{{ else }}100%{{ end }}; margin: 0 auto;">
    {{ .Content }}
  </div>
{{ end }}

In this example, we used inline styles (the style attribute) to set the max-width property for the div element when no custom_width parameter is specified, defaulting the width to 100%. margin: 0 auto; centers the div element.

Please note that in actual applications, you may need to adjust this example based on your theme structure and CSS styling details. Ensure that when adjusting styles, you maintain consistency and readability with the theme.

Due to the slight difference in the enabled theme, the site’s custom CSS configuration was finally adjusted.

Licensed under CC BY-NC-SA 4.0
Last updated on Jun 02, 2025 20:54
A financial IT programmer's tinkering and daily life musings
Built with Hugo
Theme Stack designed by Jimmy