1
+ title = " Mspush-go's stateless experiments."
2
+
3
+ [owner ]
4
+ name = " Daniel Fireman"
5
+ email = " danielfireman@gmail.com"
6
+
7
+ [setup ]
8
+ num_vms = 4
9
+ vcpus = 2
10
+ ram_gb = 4
11
+ go_version = " go1.10.3 linux/amd64"
12
+ nginx_version = " nginx/1.14.0 (Ubuntu)"
13
+ so_version = " Ubuntu 18.04 LTS"
14
+ kernel_version = " 4.15.0-29-generic"
15
+
16
+ [execution ]
17
+ exports = ' export outdir="stateless"'
18
+ killall = ' for ip in $ip1 $ip2 $ip3 $ip4; do ssh -i ${sshkey} ubuntu@${ip} "kill -9 \$(lsof -i tcp:3000 -t) 2>/dev/null; kill -9 \$(lsof -i tcp:8000 -t) 2>/dev/null"; done'
19
+ setup = ' cd $GOPATH/src/github.com/gcinterceptor/msgpush-go && go build && for ip in $ip1 $ip2 $ip3 $ip4; do scp -i ${sshkey} msgpush-go ubuntu@${ip}:~/; done; cd $GOPATH/src/github.com/gcinterceptor/gci-proxy && go build && for ip in $ip1 $ip2 $ip3 $ip4; do scp -i ${sshkey} gci-proxy ubuntu@${ip}:~/; done'
20
+ load = ' ssh -i ${sshkey} ubuntu@${lb} "sudo rm /var/log/nginx/access.log; sudo /etc/init.d/nginx restart; echo \"GET http://localhost/\" | ./vegeta attack -duration=60s -rate=80 >/dev/null; sudo rm /var/log/nginx/access.log; sudo /etc/init.d/nginx restart; echo \"GET http://localhost/\" | ./vegeta attack -duration=120s -rate=80 > results.bin; cat results.bin | ./vegeta report > vegeta_${expid}.out; cat results.bin | ./vegeta report -reporter=plot > plot_${expid}.html; rm results.bin; cp /var/log/nginx/access.log al_${expid}.csv"'
21
+ fetch_results = ' scp -i ${sshkey} ubuntu@${lb}:~/*_${expid}* ${outdir}; for ip in $ip1 $ip2 $ip3 $ip4; do scp -i ${sshkey} ubuntu@${ip}:~/*_${expid}_${ip}* ${outdir}; done'
22
+ cleanup = ' ssh -i ${sshkey} ubuntu@${lb} "rm *${expid}*"; for ip in $ip1 $ip2 $ip3 $ip4; do ssh -i ${sshkey} ubuntu@${ip} "kill -9 \$(lsof -i tcp:3000 -t) 2>/dev/null; kill -9 \$(lsof -i tcp:8000 -t) 2>/dev/null; rm *${expid}_${ip}*"; done'
23
+
24
+ [execution .no_gci ]
25
+ start = ' for ip in $ip1 $ip2 $ip3 $ip4; do ssh -i ${sshkey} ubuntu@${ip} "kill -9 \$(lsof -i tcp:3000 -t) 2>/dev/null; kill -9 \$(lsof -i tcp:8000 -t) 2>/dev/null; GODEBUG=gctrace=1 USE_GCI=false MSG_SIZE=10240 WINDOW_SIZE=1 PORT=3000 nohup ./msgpush-go >../msgpush_${expid}_${ip}.out 2>../msgpush_${expid}_${ip}.err &"; done'
26
+ exports_1 = ' export expid="nogci_1"'
27
+ exports_2 = ' export expid="nogci_2"'
28
+ exports_3 = ' export expid="nogci_3"'
29
+ exports_4 = ' export expid="nogci_4"'
30
+ exports_5 = ' export expid="nogci_5"'
31
+
32
+ [execution .gci ]
33
+ start = ' for ip in $ip1 $ip2 $ip3 $ip4; do ssh -i ${sshkey} ubuntu@${ip} "kill -9 \$(lsof -i tcp:3000 -t) 2>/dev/null; kill -9 \$(lsof -i tcp:8000 -t) 2>/dev/null; nohup ./gci-proxy --port 3000 --url http://127.0.0.1:8000 --ygen=67108864 --tgen=67108864 >proxy_${expid}_${ip}.out 2>proxy_${expid}_${ip}.err& GODEBUG=gctrace=1 USE_GCI=true MSG_SIZE=10240 WINDOW_SIZE=1 PORT=8000 nohup ./msgpush-go >msgpush_${expid}_${ip}.out 2>msgpush_${expid}_${ip}.err &"; done'
34
+ exports_1 = ' export expid="gci_1"'
35
+ exports_2 = ' export expid="gci_2"'
36
+ exports_3 = ' export expid="gci_3"'
37
+ exports_4 = ' export expid="gci_4"'
38
+ exports_5 = ' export expid="gci_5"'
0 commit comments