Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

...