diff options
Diffstat (limited to 'apps/dav/tests/benchmarks/benchmark.sh')
-rwxr-xr-x | apps/dav/tests/benchmarks/benchmark.sh | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/apps/dav/tests/benchmarks/benchmark.sh b/apps/dav/tests/benchmarks/benchmark.sh new file mode 100755 index 00000000000..613a83fe68a --- /dev/null +++ b/apps/dav/tests/benchmarks/benchmark.sh @@ -0,0 +1,55 @@ +#!/bin/bash +# +# SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors +# SPDX-License-Identifier: AGPL-3.0-or-later +# +set -eu + +# benchmark.sh + +export KB=1000 +export MB=$((KB*1000)) + +MAX_UPLOAD_SIZE=$((512*KB)) + +export CONCURRENCY=5 +export BANDWIDTH=$((100*MB/CONCURRENCY)) + +FILE_SIZES=($((1*KB)) $((10*KB)) $((100*KB))) + +echo "Concurrency: $CONCURRENCY" +echo "Bandwidth: $BANDWIDTH" + +md_output="# Bulk upload benchmark\n" +md_output+="\n" +md_output+="- Concurrency: $CONCURRENCY\n" +md_output+="- Bandwidth: ${BANDWIDTH}B\n" +md_output+="\n" +md_output+="| Nb | Size (B) | Bundle (sec) | Single (sec) |\n" +md_output+="|---|---|---|---|\n" + +requests_count='1 2 3 4 5' + +for size in "${FILE_SIZES[@]}" +do + nb=$((MAX_UPLOAD_SIZE/size)) + + echo "- Upload of $nb tiny file of ${size}B" + echo " - Bundled" + start=$(date +%s) + echo "$requests_count" | xargs -d ' ' -P $CONCURRENCY -I{} ./bulk_upload.sh "$nb" "$size" + end=$(date +%s) + bulk_exec_time=$((end-start)) + echo "${bulk_exec_time}s" + + echo " - Single" + start=$(date +%s) + echo "$requests_count" | xargs -d ' ' -P $CONCURRENCY -I{} ./single_upload.sh "$nb" "$size" + end=$(date +%s) + single_exec_time=$((end-start)) + echo "${single_exec_time}s" + + md_output+="| $nb | $size | $bulk_exec_time | $single_exec_time |\n" +done + +echo -en "$md_output"
\ No newline at end of file |