Windows プラットフォームには魯大师(ユーエンターマスター)というベンチマークソフトがあり、データが正確とは言えないまでも、ある程度の参考になる。もちろん他のプロフェッショナルなベンチマークソフトもあるが、Linux システムでは特によく合うものがなかなか見つからない。
Sysbenchは、CPU、メモリ、ファイルI/O、スレッドパフォーマンスなどをテストできる多機能なベンチマークツールです。様々なパフォーマンステストタスクにsysbenchを使用できます。
テスト用にちょうど3台の機械があります:メカニストミニローカルホスト、アリババクラウド開発雲サーバー、ファーウェイクラウド開発サーバー。
Sysbenchのインストール
ほとんどのLinuxディストリビューションでは、パッケージマネージャーを使用してSysbenchをインストールできます。例えば、CentOS 8では、以下のコマンドでインストールできます。
sudo dnf install sysbench
Sysbench の使用例
- CPU性能テスト:INLINE_CODE_0
- メモリ読み出し性能テスト:INLINE_CODE_0
- テストファイルI/O性能:
sysbench --test=fileio --file-test-mode=rndrw prepare
sysbench --test=fileio --file-test-mode=rndrw run
sysbench --test=fileio --file-test-mode=rndrw cleanup
- マルチスレッドパフォーマンスのテスト: INLINE_CODE_0
- MySQLデータベースのパフォーマンスをテストする(データベースの最大接続数を調整する必要があります)。
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
データレポート(パオフェン)
A | B | C | D | |
---|---|---|---|---|
1 | 本地机械师 | 阿里云 | 华为云 | |
2 | 系统配置 | 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 Motherboard N/A BIOS SeaBIOS rel-1.10.2-0-g5f4c7b1-20181220_000000-szxrtosci10000 CPU Information Name Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz Topology 1 Processor, 1 Core, 2 Threads Identifier GenuineIntel Family 6 Model 85 Stepping 7 Base Frequency 2.60 GHz L1 Instruction Cache 32.0 KB L1 Data Cache 32.0 KB L2 Cache 1.00 MB L3 Cache 35.8 MB Memory Information Size 3.64 GB |
3 | CPU | 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: 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 |
4 | 内存 | 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) General statistics: total time: 10.0001s total number of events: 101993199 Latency (ms): min: 0.00 avg: 0.00 max: 0.03 95th percentile: 0.00 sum: 4059.50 Threads fairness: events (avg/stddev): 101993199.0000/0.00 execution time (avg/stddev): 4.0595/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: 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 | 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: 57056904 (5704765.11 per second) 55719.63 MiB transferred (5571.06 MiB/sec) General statistics: total time: 10.0001s total number of events: 57056904 Latency (ms): min: 0.00 avg: 0.00 max: 0.06 95th percentile: 0.00 sum: 4556.06 Threads fairness: events (avg/stddev): 57056904.0000/0.00 execution time (avg/stddev): 4.5561/0.00 |
5 | 硬盘 | 2147483648 bytes written in 1.81 seconds (1129.59 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: 3373.41 writes/s: 2248.94 fsyncs/s: 7201.80 Throughput: read, MiB/s: 52.71 written, MiB/s: 35.14 General statistics: total time: 10.0127s total number of events: 128288 Latency (ms): min: 0.00 avg: 0.08 max: 5.14 95th percentile: 0.34 sum: 9977.78 Threads fairness: events (avg/stddev): 128288.0000/0.00 execution time (avg/stddev): 9.9778/0.00 | 2147483648 bytes written in 19.29 seconds (106.16 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: 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 | 多线程 | 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.16 avg: 0.20 max: 0.34 95th percentile: 0.21 sum: 39970.47 Threads fairness: events (avg/stddev): 49489.0000/5.70 execution time (avg/stddev): 9.9926/0.00 | 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.0174s total number of events: 18360 Latency (ms): min: 0.57 avg: 2.18 max: 32.77 95th percentile: 2.61 sum: 40050.41 Threads fairness: events (avg/stddev): 4590.0000/94.36 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 Initializing worker threads... Threads started! General statistics: total time: 10.0004s total number of events: 28536 Latency (ms): min: 0.23 avg: 1.40 max: 3.56 95th percentile: 1.47 sum: 39975.16 Threads fairness: events (avg/stddev): 7134.0000/39.87 execution time (avg/stddev): 9.9938/0.01 |
追記
完全にレイアウトできず、表形式にできない場合、表示効果が著しく悪くなる。カスタムテーマによるページ幅の制限があり、ページの構成を調整し、幅をパーセント指定に変更した。
- シンプルな方法としては、TablesGeneratorのようなオンラインツールでHTMLテーブルを生成する(複雑な内容は向いていない)。
- またはGoogleドキュメントで作成し、HTMLとしてダウンロードしてブログにコピーする。(簡単で最終的に採用)
設定でunsafeオプションが有効になっていることを確認し、ページごとに幅を設定してください。
Hugoにおいて、ページごとに幅を設定できます。これは、ページのFront Matterにカスタムパラメータを追加することで実現可能です。以下はその例です。
- Markdown ページの前マター(通常はファイルの先頭部分)に、例えば INLINE_CODE_0 のようなカスタムパラメータを追加してください。
---
title: "我的页面"
date: 2024-01-09
custom_width: "800px" # 设置宽度为 800 像素
---
正文内容...
-
あなたのHugoテーマで、対応するシングルページテンプレートファイルを見つけてください(例:INLINE_CODE_0)。
-
シングルページテンプレートにおいて、Front Matterに
custom_width
BOLD_2div
が存在するか確認してください。
{{ define "main" }}
<div style="max-width: {{ with .Params.custom_width }}{{ . }}{{ else }}100%{{ end }}; margin: 0 auto;">
{{ .Content }}
</div>
{{ end }}
この例では、インラインスタイル(__INLINE_CODE_0__属性)为 __INLINE_CODE_1__BOLD_7max-width
BOLD_8custom_width
参数时,宽度默认为100%。margin: 0 auto;
用于将 INLINE_CODE_5)の要素を中心に配置しています。
実際の応用では、テーマ構造やCSSスタイルの詳細に応じて、上記の例を調整する必要があるかもしれません。スタイルを調整する際は、テーマの一貫性と可読性を保つようにしてください。
有効化されたテーマが若干異なるため、サイトのカスタム設定のCSS
構成を最終調整しました。