diff options
author | Jakob Unterwurzacher | 2017-06-24 15:51:49 +0200 |
---|---|---|
committer | Jakob Unterwurzacher | 2017-06-24 15:52:24 +0200 |
commit | b9b52854c36eb50327445219dd1b835ca545d51e (patch) | |
tree | d1d2802b51071dce0298dd08bfad9f730d348dad /profiling | |
parent | 5c7b5770ceae7891fee03f9bf1da01e8990dcbff (diff) |
profiling: add streaming read profiling helper
Reads 1GB of zeros while collecting memory and cpu profiles.
Diffstat (limited to 'profiling')
-rwxr-xr-x | profiling/streaming-read.bash | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/profiling/streaming-read.bash b/profiling/streaming-read.bash new file mode 100755 index 0000000..8976639 --- /dev/null +++ b/profiling/streaming-read.bash @@ -0,0 +1,29 @@ +#!/bin/bash -eu + +cd "$(dirname "$0")" + +T=$(mktemp -d) +mkdir $T/a $T/b + +../gocryptfs -init -quiet -scryptn 10 -extpass "echo test" $T/a +../gocryptfs -quiet -extpass "echo test" $T/a $T/b + +# Cleanup trap +trap "cd /; fusermount -u -z $T/b; rm -Rf $T/a" EXIT + +# Write 100MB test file +dd if=/dev/zero of=$T/b/zero bs=1M count=100 status=none + +# Remount with profiling +fusermount -u $T/b +../gocryptfs -quiet -extpass "echo test" -cpuprofile $T/cprof -memprofile $T/mprof \ + $T/a $T/b + +# Read 10 x 100MB instead of 1 x 1GB to keep the used disk space low +for i in $(seq 1 10); do + dd if=$T/b/zero of=/dev/null bs=1M count=100 +done + +echo +echo "Hint: go tool pprof ../gocryptfs $T/cprof" +echo " go tool pprof -alloc_space ../gocryptfs /tmp/tmp.DRhBSFO6pu/mprof" |