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.
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
System 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
CPU
sysbench 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
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 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 fairness: events (avg/stddev): 63355.0000/0.00 execution time (avg/stddev): 9.9726/0.00
6
Multi-threaded
Running 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:
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...
In your Hugo theme, find or create the corresponding single page template file (e.g., layouts/_default/single.html).
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.