profiling: add streaming read profiling helper
Reads 1GB of zeros while collecting memory and cpu profiles.
This commit is contained in:
parent
5c7b5770ce
commit
b9b52854c3
29
profiling/streaming-read.bash
Executable file
29
profiling/streaming-read.bash
Executable file
@ -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"
|
Loading…
Reference in New Issue
Block a user