diff options
author | Lars Wirzenius <liw@liw.fi> | 2018-10-29 09:48:08 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2018-10-29 09:48:08 +0200 |
commit | 0d00065bfff93d025c41cb96a26988c8d1d38e8a (patch) | |
tree | 3467c1874ceab7fa31958273bf47c6c49fc593e4 /benchmark-http | |
parent | 8f5c7b0fc2b273e55b2116ddece21ac2c19fa863 (diff) | |
download | muck-poc-0d00065bfff93d025c41cb96a26988c8d1d38e8a.tar.gz |
Add: script to benchmark http API over localhost
Diffstat (limited to 'benchmark-http')
-rwxr-xr-x | benchmark-http | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/benchmark-http b/benchmark-http new file mode 100755 index 0000000..0ad11b0 --- /dev/null +++ b/benchmark-http @@ -0,0 +1,51 @@ +#!/bin/sh +# Copyright (C) 2018 Lars Wirzenius +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +set -eu + +rm -rf tmp +mkdir tmp +mkdir tmp/store + +token="$(./create-token < test-key)" + +cat > tmp/conf <<EOF +{ + "log": "tmp/log", + "pid": "tmp/pid", + "store": "tmp/store", + "signing-key-filename": "test-key.pub" +} +EOF + +cat > tmp/data <<EOF +{ + "foo": "bar" +} +EOF + +stop() { + kill "$(cat tmp/pid)" +} +trap stop EXIT + +/usr/sbin/daemonize -o tmp.out -e tmp.err -c . "$(pwd)/muck_poc" tmp/conf +sleep 2 + +ab -n10000 -c2 \ + -T application/json \ + -p tmp/data \ + -H "Authorization: Bearer $token" \ + http://127.0.0.1:12765/res |