Commit 9f86eb40 authored by Kirill Smelkov's avatar Kirill Smelkov

X bench += ioping

parent 5974c5fa
...@@ -2,3 +2,4 @@ ...@@ -2,3 +2,4 @@
/var /var
/zhash /zhash
/zhash_go /zhash_go
/ioping.tmp
...@@ -456,6 +456,20 @@ nrunpar() { ...@@ -456,6 +456,20 @@ nrunpar() {
wait $jobv wait $jobv
} }
# bench_disk - print disk identification and benchmark direct (uncached) and cached random reads
bench_disk() {
echo -e "\n*** random direct (no kernel cache) 4K-read disk latency"
nrun ioping -D -i 0ms -s 4k -S 1024M -w 3s -q -k .
echo -e "\n*** random cached 4K-read disk latency"
# warmup so kernel puts the file into pagecache
for i in `seq 3`; do
cat ioping.tmp >/dev/null
done
nrun ioping -C -i 0ms -s 4k -S 1024M -w 3s -q -k .
}
#hashfunc=sha1 #hashfunc=sha1
#hashfunc=adler32 #hashfunc=adler32
hashfunc=crc32 hashfunc=crc32
...@@ -493,6 +507,7 @@ bench_go() { ...@@ -493,6 +507,7 @@ bench_go() {
cmd_bench-local() { cmd_bench-local() {
echo -e ">>> bench-local" echo -e ">>> bench-local"
header header
bench_disk
install_trap install_trap
gen_data gen_data
...@@ -546,6 +561,9 @@ cmd_bench-cluster() { ...@@ -546,6 +561,9 @@ cmd_bench-cluster() {
echo -e "\n# client:" echo -e "\n# client:"
on $url ./neotest info-local on $url ./neotest info-local
echo -e "\n*** server disk:"
bench_disk
echo -e "\n*** link latency:" echo -e "\n*** link latency:"
peer=`python -c "import urlparse as p; u=p.urlparse(\"scheme://$url\"); print u.hostname"` peer=`python -c "import urlparse as p; u=p.urlparse(\"scheme://$url\"); print u.hostname"`
sizev="56 1472" sizev="56 1472"
......
...@@ -31,6 +31,10 @@ XXX tracepoints this package imports ...@@ -31,6 +31,10 @@ XXX tracepoints this package imports
See package lab.nexedi.com/kirr/go123/tracing documentation on how to define See package lab.nexedi.com/kirr/go123/tracing documentation on how to define
and use trace events in programs. XXX and use trace events in programs. XXX
TODO automatically turn every trace:event in an USDT probe so that they can be
traced from outside of the process too.
See e.g. https://github.com/iovisor/bcc/issues/327 for context.
FIXME build tags not taken into account FIXME build tags not taken into account
*/ */
package main package main
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment