...
Code Block |
---|
#!/bin/bash base_url="http://fedoraAdmin:fedoraAdmin@localhost/fedora" num=0 RuntimePrint() { duration=$(echo "scale=3;(${m2t}-${m1t})/(1*10^09)"|bc|sed 's/^\./0./') echo -e "${objectId} ${datastreams} ${size} ${duration}\tsec" echo -e "${objectId} ${datastreams} ${isize} ${duration}" >> /data/fcrepo3-total-create-object-time } CreateObject() { pid="druid:$1" curl -X POST "$base_url/objects/druid:$1$pid" &> /dev/null cd /data-ro/assets/$1 for f in $( ls ); do datastreams=$[$datastreams+1] size=$[$size+`stat -c "%s" $f`] curl -X POST --data-binary @$f "$base_url/objects/druid:$1$pid/datastreams/$f?controlGroup=M" &> /dev/null done cd /data } BenchmarkObject() { objectId=$1 if [ -d /data-ro/assets/$objectId ]; then m1t=$(date +%s%N); m1l=$LINENO CreateObject $1$objectId m2t=$(date +%s%N); m2l=$LINENO; RuntimePrint fi } export -f RuntimePrintBenchmarkObject export -f CreateObject export -f BenchmarkObjectRuntimePrint export base_url for i in $( cat /data/object_ids ); do if [ -d /data-ro/assets/$i ]; then BenchmarkObject $i fi done- | parallel -P $THREADS --env _ BenchmarkObject |
Test 1b: Iteration
Test 1c: 8-thread test
...