Created
December 5, 2016 22:31
-
-
Save kevina/63efcab752d1a15e2fde6651b76d2a80 to your computer and use it in GitHub Desktop.
Script to create IPFS repo to stress test GC
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export IPFS_PATH=/aux/scratch/ipfs | |
EXTRA_ARGS="--raw-leaves" | |
random() { | |
$GOPATH/src/github.com/ipfs/go-ipfs/test/sharness/bin/random "$@" | |
} | |
random_files() { | |
$GOPATH/src/github.com/ipfs/go-ipfs/test/sharness/bin/random-files "$@" | |
} | |
set -e | |
if [ -e d ]; then | |
echo 'Directory "d/" exists. Please remove it first' | |
exit 1 | |
fi | |
SEED=0 | |
inc_seed() { | |
SEED=$((SEED + 1)) | |
} | |
add_pinned_file() { | |
inc_seed | |
random 4000 $SEED > afile | |
ipfs add $EXTRA_ARGS --pin=true afile > /dev/null | |
rm afile | |
} | |
for i in $(seq 1 1000); do | |
echo "Adding $i/1000 file" | |
add_pinned_file | |
done | |
SEED=0 | |
add_small_dir() { | |
inc_seed | |
echo "Creating Small Dir: seed=$SEED" | |
random_files -q -dirs 4 -files 35 -depth 5 -random-fanout -random-size -seed $SEED d | |
echo "Adding Small Dir: pinned=$1" | |
/usr/bin/time ipfs add $EXTRA_ARGS --pin=$1 -r d > /dev/null | |
rm -r d | |
} | |
for i in $(seq 1 100); do | |
add_small_dir true | |
add_small_dir false | |
done | |
add_med_dir() { | |
inc_seed | |
echo "Creating Medium Dir: seed=$SEED" | |
random_files -q -dirs 4 -files 100 -depth 7 -random-fanout -random-size -seed $SEED d | |
echo "Adding Medium Dir: pinned=$1" | |
/usr/bin/time ipfs add $EXTRA_ARGS --pin=$1 -r d > /dev/null | |
rm -r d | |
} | |
for i in $(seq 1 10); do | |
add_med_dir true | |
add_med_dir false | |
done | |
add_large_dir() { | |
inc_seed | |
echo "Creating Large Dir: seed=$SEED" | |
random_files -q -dirs 4 -files 100 -depth 10 -random-fanout -random-size -seed $SEED d | |
du -hs d | |
echo "Adding Large Dir: pinned=$1" | |
/usr/bin/time ipfs add $EXTRA_ARGS --pin=$1 -r d > /dev/null | |
rm -r d | |
} | |
SEED=1000 | |
add_large_dir true | |
add_large_dir false | |
add_large_dir true | |
add_large_dir false |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment