From e2f911d38b744cbfc08963c4e36fd41d2241bf64 Mon Sep 17 00:00:00 2001 From: Sun Knudsen Date: Sat, 19 Mar 2022 17:12:30 -0400 Subject: [PATCH] Implemented threads and file-block-size --- .../README.md | 137 ++++++++++++------ 1 file changed, 93 insertions(+), 44 deletions(-) diff --git a/how-to-benchmark-server-performance-using-speedtest-and-sysbench/README.md b/how-to-benchmark-server-performance-using-speedtest-and-sysbench/README.md index a299718..878a8bb 100644 --- a/how-to-benchmark-server-performance-using-speedtest-and-sysbench/README.md +++ b/how-to-benchmark-server-performance-using-speedtest-and-sysbench/README.md @@ -121,13 +121,13 @@ $ speedtest Speedtest by Ookla - Server: Ljósleiðarinn - Reykjavík (id = 12720) + Server: Siminn - Reykjavik (id = 4818) ISP: 1984 ehf - Latency: 0.48 ms (0.04 ms jitter) - Download: 940.03 Mbps (data used: 494.8 MB ) - Upload: 941.49 Mbps (data used: 423.8 MB ) + Latency: 0.56 ms (0.04 ms jitter) + Download: 952.13 Mbps (data used: 429.5 MB ) + Upload: 994.18 Mbps (data used: 1.6 GB ) Packet Loss: 0.0% - Result URL: https://www.speedtest.net/result/c/ef84204c-1a99-451a-8782-d9b0753622f7 + Result URL: https://www.speedtest.net/result/c/541db9ff-1731-4998-b137-9d6dd959f6aa ``` Network download speed: 940.03 Mbps @@ -138,10 +138,8 @@ Network upload speed: 941.49 Mbps ### Benchmark CPU -> Heads-up: use `--threads` to use multiple cores concurrently. - ```console -$ sysbench cpu run +$ sysbench cpu --threads=$(nproc) run sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3) Running the test with following options: @@ -156,32 +154,32 @@ Initializing worker threads... Threads started! CPU speed: - events per second: 4322.01 + events per second: 4312.04 General statistics: total time: 10.0002s - total number of events: 43223 + total number of events: 43123 Latency (ms): min: 0.23 avg: 0.23 - max: 3.77 - 95th percentile: 0.23 - sum: 9993.78 + max: 0.64 + 95th percentile: 0.24 + sum: 9989.38 Threads fairness: - events (avg/stddev): 43223.0000/0.00 - execution time (avg/stddev): 9.9938/0.00 + events (avg/stddev): 43123.0000/0.00 + execution time (avg/stddev): 9.9894/0.00 ``` -CPU events per second: 4322.01 +CPU events per second: 4312.04 👍 ### Benchmark memory ```console -$ sysbench memory run +$ sysbench memory --threads=$(nproc) run sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3) Running the test with following options: @@ -199,36 +197,38 @@ Initializing worker threads... Threads started! -Total operations: 62356792 (6235367.55 per second) +Total operations: 62470941 (6246793.35 per second) -60895.30 MiB transferred (6089.23 MiB/sec) +61006.78 MiB transferred (6100.38 MiB/sec) General statistics: total time: 10.0000s - total number of events: 62356792 + total number of events: 62470941 Latency (ms): min: 0.00 avg: 0.00 - max: 0.36 + max: 0.23 95th percentile: 0.00 - sum: 4421.34 + sum: 4481.00 Threads fairness: - events (avg/stddev): 62356792.0000/0.00 - execution time (avg/stddev): 4.4213/0.00 + events (avg/stddev): 62470941.0000/0.00 + execution time (avg/stddev): 4.4810/0.00 ``` -Memory speed: 6089.23 MiB/sec +Memory speed: 6100.38 MiB/sec 👍 ### Benchmark disk +> Heads-up: use `--file-block-size=16K` to simulate database or `apt install` workloads and `--file-block-size=1M` to simulate web server workload. + ```console $ sysbench fileio --file-total-size=8G prepare -sysbench 1.0.18 (using system LuaJIT 2.1.0-beta3) +sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3) 128 files, 65536Kb each, 8192Mb total Creating files for the test... @@ -236,9 +236,9 @@ Extra file open flags: (none) Creating file test_file.0 … Creating file test_file.127 -8589934592 bytes written in 82.33 seconds (99.50 MiB/sec). +8589934592 bytes written in 81.95 seconds (99.96 MiB/sec). -$ sysbench fileio --file-total-size=8G --file-test-mode=rndrw run +$ sysbench fileio --file-block-size=16K --file-total-size=8G --file-test-mode=rndrw --threads=$(nproc) run sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3) Running the test with following options: @@ -262,37 +262,86 @@ Threads started! File operations: - reads/s: 4002.99 - writes/s: 2668.62 - fsyncs/s: 8546.96 + reads/s: 4042.23 + writes/s: 2694.82 + fsyncs/s: 8629.92 Throughput: - read, MiB/s: 62.55 - written, MiB/s: 41.70 + read, MiB/s: 63.16 + written, MiB/s: 42.11 General statistics: - total time: 10.0036s - total number of events: 152119 + total time: 10.0040s + total number of events: 153609 Latency (ms): min: 0.00 - avg: 0.07 - max: 3.28 - 95th percentile: 0.16 - sum: 9959.87 + avg: 0.06 + max: 10.10 + 95th percentile: 0.15 + sum: 9963.22 Threads fairness: - events (avg/stddev): 152119.0000/0.00 - execution time (avg/stddev): 9.9599/0.00 + events (avg/stddev): 153609.0000/0.00 + execution time (avg/stddev): 9.9632/0.00 -$ sysbench fileio cleanup +$ sysbench fileio --file-block-size=1M --file-total-size=8G --file-test-mode=rndrw --threads=$(nproc) run +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, 64MiB each +8GiB total file size +Block size 1MiB +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: 63.57 + writes/s: 42.38 + fsyncs/s: 136.57 + +Throughput: + read, MiB/s: 63.57 + written, MiB/s: 42.38 + +General statistics: + total time: 10.3782s + total number of events: 2390 + +Latency (ms): + min: 0.01 + avg: 4.19 + max: 160.43 + 95th percentile: 15.00 + sum: 10004.76 + +Threads fairness: + events (avg/stddev): 2390.0000/0.00 + execution time (avg/stddev): 10.0048/0.00 + +$ sysbench fileio --file-total-size=8G cleanup sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3) Removing test files... ``` -Disk read throughput: 62.55 MiB/s +Disk read throughput (16K): 63.16 MiB/s +Disk write throughput (16K): 42.11 MiB/s -Disk write throughput: 41.70 MiB/s +Disk read throughput (1M): 63.57 MiB/s +Disk write throughput (1M): 42.38 MiB/s 👍