diff options
author | Xiao Yang <xiaox.yang@intel.com> | 2019-07-29 15:01:28 +0800 |
---|---|---|
committer | Philip Li <philip.li@intel.com> | 2019-07-29 15:09:23 +0800 |
commit | a10622ae04932196d4d6d9bef74300f62f59558b (patch) | |
tree | 86e19e023a38e29719ce36ab83a699766c6e15dd | |
parent | bfbd500bfa4d8f226b5b4d258a542b5de521ec8a (diff) | |
download | lkp-tests-a10622ae04932196d4d6d9bef74300f62f59558b.tar.gz |
fileio: Update test suite
1) Use sysbench source code to test because Clear Linux
doesn't have sysbench package
2) Use new options(--events, --threads, --time, fileio)
for sysbench command
3) Update stats/fileio because fileio has used the lastest
sysbench since commit 25f6d65
4) Add fileio benchmark for all supported distributions
5) Update related files in etc because stats/fileio has
been changed
yangx@inn:~$ cat /result/fileio/performance-1HDD-1024f-xfs-sync-100%-600s-rndrd-64G-ucode=0x200005e/lkp-skl-2sp8/debian-x86_64-2019-05-14.cgz/x86_64-rhel-7.6/gcc-7/0ecfebd2b52404ae0c54a878c872bb93363ada36/9/fileio.json
{
"fileio.read_operations/s": [
3682237.85
],
"fileio.read_bytes_MiB/s": [
57534.97
],
"fileio.read_bytes_MB/s": [
60329.78
],
"fileio.latency_avg_ms": [
0.01
],
"fileio.latency_max_ms": [
24.32
],
"fileio.latency_95th_ms": [
0.02
],
"fileio.latency_sum_ms": [
24818398.89
]
}
Signed-off-by: Xiao Yang <xiaox.yang@intel.com>
Signed-off-by: Philip Li <philip.li@intel.com>
-rw-r--r-- | distro/adaptation-pkg/centos | 2 | ||||
-rw-r--r-- | distro/adaptation-pkg/clear | 1 | ||||
-rw-r--r-- | distro/adaptation-pkg/debian | 1 | ||||
-rw-r--r-- | distro/adaptation-pkg/fedora | 2 | ||||
-rw-r--r-- | distro/adaptation-pkg/ubuntu | 1 | ||||
-rw-r--r-- | distro/depends/fileio | 2 | ||||
-rw-r--r-- | distro/depends/fileio-dev | 2 | ||||
-rw-r--r-- | etc/index-perf-all.yaml | 2 | ||||
-rw-r--r-- | etc/index-perf.yaml | 2 | ||||
-rw-r--r-- | etc/latency | 4 | ||||
-rw-r--r-- | etc/perf-metrics-threshold.yaml | 2 | ||||
l--------- | pkg/fileio | 1 | ||||
-rwxr-xr-x | stats/fileio | 60 | ||||
-rwxr-xr-x | tests/fileio | 10 |
14 files changed, 49 insertions, 43 deletions
diff --git a/distro/adaptation-pkg/centos b/distro/adaptation-pkg/centos index 53d81172..7fe1b9c5 100644 --- a/distro/adaptation-pkg/centos +++ b/distro/adaptation-pkg/centos @@ -11,4 +11,4 @@ netpipe-lam: netpipe eatmem: vm-scalability vm-scalability:: linkbench:: - +fileio:: diff --git a/distro/adaptation-pkg/clear b/distro/adaptation-pkg/clear index c6562b0c..809434b1 100644 --- a/distro/adaptation-pkg/clear +++ b/distro/adaptation-pkg/clear @@ -10,3 +10,4 @@ rocksdb:: redis-server:: netpipe:: pixz:: +fileio:: diff --git a/distro/adaptation-pkg/debian b/distro/adaptation-pkg/debian index 59cb3131..951a2967 100644 --- a/distro/adaptation-pkg/debian +++ b/distro/adaptation-pkg/debian @@ -17,3 +17,4 @@ memtier:: sar:: mcperf:: redis-server:: +fileio:: diff --git a/distro/adaptation-pkg/fedora b/distro/adaptation-pkg/fedora index c3edb1b3..d61e609f 100644 --- a/distro/adaptation-pkg/fedora +++ b/distro/adaptation-pkg/fedora @@ -10,4 +10,4 @@ netpipe-lam: netpipe eatmem: vm-scalability vm-scalability:: linkbench: - +fileio:: diff --git a/distro/adaptation-pkg/ubuntu b/distro/adaptation-pkg/ubuntu index 1bff7466..505166e0 100644 --- a/distro/adaptation-pkg/ubuntu +++ b/distro/adaptation-pkg/ubuntu @@ -14,3 +14,4 @@ mpstat:: lmbench3:: mutilate:: rocksdb:: +fileio:: diff --git a/distro/depends/fileio b/distro/depends/fileio index 51aebcad..84edb95c 100644 --- a/distro/depends/fileio +++ b/distro/depends/fileio @@ -1 +1 @@ -sysbench +libmariadbclient18 diff --git a/distro/depends/fileio-dev b/distro/depends/fileio-dev new file mode 100644 index 00000000..f570c463 --- /dev/null +++ b/distro/depends/fileio-dev @@ -0,0 +1,2 @@ +pkg-config +libmariadbclient-dev diff --git a/etc/index-perf-all.yaml b/etc/index-perf-all.yaml index 600a0814..eac639f4 100644 --- a/etc/index-perf-all.yaml +++ b/etc/index-perf-all.yaml @@ -13,7 +13,7 @@ ebizzy\.throughput: 1 ebizzy\.throughput\.per_thread\.max: 1 ebizzy\.throughput\.per_thread\.min: 1 exit_free\.duration: -1 -fileio\.requests_per_sec: 1 +fileio\..+_operations\/s: 1 fio\..+\_bw_MBps: 1 fio\..+\_iops: 1 fsmark\.app_overhead: -1 diff --git a/etc/index-perf.yaml b/etc/index-perf.yaml index 1bce63c5..b96d7b73 100644 --- a/etc/index-perf.yaml +++ b/etc/index-perf.yaml @@ -6,7 +6,7 @@ boot-time\.boot: -1 boot-time\.dhcp: -1 dbench\.throughput-MB\/sec: 1 ebizzy\.throughput: 1 -fileio\.requests_per_sec: 1 +fileio\..+_operations\/s: 1 fio\..+\_us: -1 fio\..+\_iops: 1 fio\..+\_MBps: 1 diff --git a/etc/latency b/etc/latency index 235729c8..25dab098 100644 --- a/etc/latency +++ b/etc/latency @@ -2,8 +2,8 @@ dbench.max_latency dd.kill_time dd.startup_time ebizzy.throughput.per_thread.stddev_percent -fileio.request_latency_95%_ms -fileio.request_latency_max_ms +fileio.latency_95th_ms +fileio.latency_max_ms iostat\..*\.(await|r_await|w_await|svctm|avgqu-sz)\.max latency_stats\..* oltp.latency_95th_ms diff --git a/etc/perf-metrics-threshold.yaml b/etc/perf-metrics-threshold.yaml index 147e8578..8964540e 100644 --- a/etc/perf-metrics-threshold.yaml +++ b/etc/perf-metrics-threshold.yaml @@ -1,6 +1,6 @@ dd.kill_time: 10 dd.startup_time: 10 -fileio.request_latency_95%_ms: 10 +fileio.latency_95th_ms: 10 interrupts.*: 100 iostat.*.avgrq-sz: 200 iostat.*.await: 50 diff --git a/pkg/fileio b/pkg/fileio new file mode 120000 index 00000000..a6f8719d --- /dev/null +++ b/pkg/fileio @@ -0,0 +1 @@ +sysbench
\ No newline at end of file diff --git a/stats/fileio b/stats/fileio index b7525b4a..376f37db 100755 --- a/stats/fileio +++ b/stats/fileio @@ -7,35 +7,35 @@ require "#{LKP_SRC}/lib/string_ext" while (line = STDIN.gets) line = line.remediate_invalid_byte_sequence(replace: '_') unless line.valid_encoding? case line -# read/write requests: 180926452 (603084.78 per sec.) - when /read\/write requests:\s+ (\d+)\s+\(([\d.]+) per sec.\)/ - puts 'rw_requests: ' + $1 - puts 'rw_requests/s: ' + $2 -# transactions: 12923318 (43077.48 per sec.) - when /transactions:\s+(\d+)\s+\(([\d.]+) per sec.\)/ - puts 'transactions: ' + $1 - puts 'transactions/s: ' + $2 - when /read\/write requests:\s+ (\d+)/ - puts 'rw_requets: ' + $1 - when /transactions:\s+ (\d+)/ - puts 'transactions: ' + $1 - when /(.*) Requests\/sec executed/ - puts 'requests_per_sec: ' + $1 - when /max:\s+(.*)ms/ - puts 'request_latency_max_ms: ' + $1 - when /min:\s+(.*)ms/ - puts 'request_latency_min_ms: ' + $1 - when /avg:\s+(.*)ms/ - puts 'request_latency_avg_ms: ' + $1 - when /approx. 95 percentile:\s+(.*)ms/ - puts 'request_latency_95%_ms: ' + $1 -# events (avg/stddev): 146855.8864/311.47 - when /events \(avg\/stddev\):\s+([\d.]+)\/([\d.]+)/ - stddev = $2.to_f * 100 / $1.to_f - puts "thread_events_stddev%: #{stddev}" -# execution time (avg/stddev): 299.1985/0.00 - when /execution time \(avg\/stddev\):\s+([\d.]+)\/([\d.]+)/ - stddev = $2.to_f * 100 / $1.to_f - puts "thread_time_stddev%: #{stddev}" + # Throughput: + # read: IOPS=3211265.07 50176.02 MiB/s (52613.37 MB/s) + # write: IOPS=0.00 0.00 MiB/s (0.00 MB/s) + # fsync: IOPS=0.00 + when /read: IOPS=([\d.]+) ([\d.]+) MiB\/s \(([\d.]+) MB\/s\)/ + puts 'read_operations/s: ' + $1 + puts 'read_bytes_MiB/s: ' + $2 + puts 'read_bytes_MB/s: ' + $3 + when /write: IOPS=([\d.]+) ([\d.]+) MiB\/s \(([\d.]+) MB\/s\)/ + puts 'write_operations/s: ' + $1 + puts 'write_bytes_MiB/s: ' + $2 + puts 'write_bytes_MB/s: ' + $3 + when /fsync: IOPS=([\d.]+)/ + puts 'fsync_operations/s: ' + $1 + # Latency (ms): + # min: 0.00 + # avg: 0.65 + # max: 367.57 + # 95th percentile: 0.86 + # sum: 1194054.52 + when /max:\s+([\d.]+)/ + puts 'latency_max_ms: ' + $1 + when /min:\s+([\d.]+)/ + puts 'latency_min_ms: ' + $1 + when /avg:\s+([\d.]+)/ + puts 'latency_avg_ms: ' + $1 + when /95th percentile:\s+([\d.]+)/ + puts 'latency_95th_ms: ' + $1 + when /sum:\s+([\d.]+)/ + puts 'latency_sum_ms: ' + $1 end end diff --git a/tests/fileio b/tests/fileio index a9139c78..0955b84a 100755 --- a/tests/fileio +++ b/tests/fileio @@ -21,9 +21,9 @@ filenum=${filenum%f} args=" - --max-requests=0 - --num-threads=$nr_threads - --max-time=$period + --events=0 + --threads=$nr_threads + --time=$period --file-test-mode=$rwmode --file-total-size=$size --file-io-mode=$iomode @@ -32,7 +32,7 @@ args=" prepare() { - log_cmd sysbench --test=fileio ${args} prepare + log_cmd sysbench fileio ${args} prepare } prepare_fallocate() @@ -52,7 +52,7 @@ run() { # permit more files open in system ulimit -n $(($filenum + 2048)) - log_cmd sysbench --test=fileio ${args} run + log_cmd sysbench fileio ${args} run } log_eval cd "$mount_points" || exit |