diff options
Diffstat (limited to 'catlfish-benchmark')
-rw-r--r-- | catlfish-benchmark/Dockerfile | 8 | ||||
-rw-r--r-- | catlfish-benchmark/Makefile | 15 | ||||
-rw-r--r-- | catlfish-benchmark/bench.sh | 33 | ||||
-rw-r--r-- | catlfish-benchmark/catlfish.cfg | 26 | ||||
-rw-r--r-- | catlfish-benchmark/fest.cfg | 29 | ||||
-rw-r--r-- | catlfish-benchmark/merge.cfg | 10 | ||||
-rw-r--r-- | catlfish-benchmark/mergebackup.cfg | 26 | ||||
-rw-r--r-- | catlfish-benchmark/signing.cfg | 18 | ||||
-rw-r--r-- | catlfish-benchmark/submit.sh | 4 |
9 files changed, 169 insertions, 0 deletions
diff --git a/catlfish-benchmark/Dockerfile b/catlfish-benchmark/Dockerfile new file mode 100644 index 0000000..7ade722 --- /dev/null +++ b/catlfish-benchmark/Dockerfile @@ -0,0 +1,8 @@ +FROM catlfish-dev +RUN apt-get update +RUN echo 'debconf debconf/frontend select noninteractive' | debconf-set-selections + +#USER catlfish +ADD catlfish.config merge.config /usr/local/etc/catlfish/ +ADD bench.sh /var/run/catlfish/ +ENTRYPOINT ["/var/run/catlfish/bench.sh"] diff --git a/catlfish-benchmark/Makefile b/catlfish-benchmark/Makefile new file mode 100644 index 0000000..cdd4b94 --- /dev/null +++ b/catlfish-benchmark/Makefile @@ -0,0 +1,15 @@ +CATLFISH_BASE = ~/p/ct/catlfish + +all: config + +config: fest.config signing.config mergebackup.config merge.cfg catlfish.cfg + +frontend.config storage.config: fest.cfg catlfish.cfg + $(CATLFISH_BASE)/tools/compileconfig.py --config catlfish.cfg --localconfig $< +signing.config: signing.cfg catlfish.cfg + $(CATLFISH_BASE)/tools/compileconfig.py --config catlfish.cfg --localconfig $< +mergebackup.config: mergebackup.cfg catlfish.cfg + $(CATLFISH_BASE)/tools/compileconfig.py --config catlfish.cfg --localconfig $< + +fest.config: frontend.config storage.config + @echo TODO merge $^ into $@ diff --git a/catlfish-benchmark/bench.sh b/catlfish-benchmark/bench.sh new file mode 100644 index 0000000..126b4af --- /dev/null +++ b/catlfish-benchmark/bench.sh @@ -0,0 +1,33 @@ +#! /bin/sh + +iterations=2 +chunksize=10000 +[ -n "$1" ] && { ierations=$1; shift; } +[ -n "$1" ] && { chunksize=$1; shift; } + +erlbase=/usr/local/catlfish + +for nodename in mergebackup signing fest; do + mkdir -p /var/run/catlfish/erlang_log/$nodename + echo "Starting $nodename" + $erlbase/bin/run_erl -daemon \ + /var/run/catlfish/ \ + /var/run/catlfish/erlang_log/$nodename/ \ + "exec $erlbase/bin/erl -config $nodename" +done + +for iter in $iterations; do + echo "Iteration ${iter}/${iterations} starting" + + ./submit.sh $chunksize + + echo "$0: merging" + date + python /usr/local/src/catlfish/tools/merge.py \ + --config /usr/local/etc/catlfish/catlfish.cfg \ + --localconfig /usr/local/etc/catlfish/merge.cfg \ + --timing + date + + echo "Iteration ${iter}/${iterations} finished" +done diff --git a/catlfish-benchmark/catlfish.cfg b/catlfish-benchmark/catlfish.cfg new file mode 100644 index 0000000..3f93a05 --- /dev/null +++ b/catlfish-benchmark/catlfish.cfg @@ -0,0 +1,26 @@ +baseurl: https://localhost:8080/ + +frontendnodes: + - name: frontend + publicaddress: localhost:8080 + address: localhost:8082 + +storagenodes: + - name: storage + address: localhost:8081 + +signingnodes: + - name: signing + address: localhost:8088 + +mergenodes: + - name: merge + address: localhost:8180 + - name: mergebackup + address: localhost:8181 + +primarymergenode: merge + +storage-quorum-size: 1 + +mmd: 86400 diff --git a/catlfish-benchmark/fest.cfg b/catlfish-benchmark/fest.cfg new file mode 100644 index 0000000..74df9c1 --- /dev/null +++ b/catlfish-benchmark/fest.cfg @@ -0,0 +1,29 @@ +localnodes: + - frontend + - storage + +addresses: + frontend: 127.0.0.1:8082 + storage: 127.0.0.1:8081 + mergebackup: 127.0.0.1:8181 + +publicaddresses: + frontend: 127.0.0.1:8080 + +paths: + configdir: . + + knownroots: known_roots + https_certfile: httpscert/httpscert.pem + https_keyfile: httpscert/httpskey.pem + https_cacertfile: httpsca/demoCA/cacert.pem + public_cacertfile: httpsca/demoCA/cacert.pem + publickeys: publickeys + privatekeys: privatekeys + logpublickey: keys/logkey.pem + logprivatekey: keys/logkey-private.pem + + db: /var/run/catlfish/bench/fest/db/ + +ratelimits: + add_chain: 10 per second diff --git a/catlfish-benchmark/merge.cfg b/catlfish-benchmark/merge.cfg new file mode 100644 index 0000000..61b41f2 --- /dev/null +++ b/catlfish-benchmark/merge.cfg @@ -0,0 +1,10 @@ +nodename: merge + +paths: + https_cacertfile: httpsca/demoCA/cacert.pem + publickeys: publickeys + logpublickey: keys/logkey.pem + privatekeys: privatekeys + known_roots: known_roots/ + + mergedb: /var/run/catlfish/bench/merge/db diff --git a/catlfish-benchmark/mergebackup.cfg b/catlfish-benchmark/mergebackup.cfg new file mode 100644 index 0000000..64c993f --- /dev/null +++ b/catlfish-benchmark/mergebackup.cfg @@ -0,0 +1,26 @@ +localnodes: + - mergebackup + +addresses: + mergebackup: 127.0.0.1:8181 + +paths: + configdir: . + + knownroots: known_roots + https_certfile: httpscert/httpscert.pem + https_keyfile: httpscert/httpskey.pem + https_cacertfile: httpsca/demoCA/cacert.pem + public_cacertfile: httpsca/demoCA/cacert.pem + publickeys: publickeys + privatekeys: privatekeys + logpublickey: keys/logkey.pem + logprivatekey: keys/logkey-private.pem + + mergedb: /var/run/catlfish/bench/mergebackup/db + +ratelimits: + add_chain: 10 per second + +#options: +# - sctcaching diff --git a/catlfish-benchmark/signing.cfg b/catlfish-benchmark/signing.cfg new file mode 100644 index 0000000..16f0346 --- /dev/null +++ b/catlfish-benchmark/signing.cfg @@ -0,0 +1,18 @@ +localnodes: + - signing + +addresses: + signing: 127.0.0.1:8088 + +paths: + configdir: . + + knownroots: known_roots + https_certfile: httpscert/httpscert.pem + https_keyfile: httpscert/httpskey.pem + https_cacertfile: httpsca/demoCA/cacert.pem + public_cacertfile: httpsca/demoCA/cacert.pem + publickeys: publickeys + privatekeys: privatekeys + logpublickey: keys/logkey.pem + logprivatekey: keys/logkey-private.pem diff --git a/catlfish-benchmark/submit.sh b/catlfish-benchmark/submit.sh new file mode 100644 index 0000000..87fee86 --- /dev/null +++ b/catlfish-benchmark/submit.sh @@ -0,0 +1,4 @@ +#! Create and submit $1 certs. + +echo TODO: Create and submit $1 certs. + |