~mwhudson/+junk/bench-moin

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
metadata:
  name: moin-benchmarks

devices:
  - role: load-gen
    count: 1
    image_type: x86
  - role: server
    count: 1
    image_type: x86

initialization:
  "*":
     - "lava-set-up-hosts-file"
     - "export TEST_TIME=300"
     - "export LET_SERVER_RECOVER=yes"
     - "export NUM_CALL=1"
     - "export LOAD_GENS_PER_NODE=1"
     - "export LOADGEN_COUNT=$(lava-group | grep load-gen | wc -l)"
  "server":
     - "hooks/install"
     - "hooks/config-changed"
     - "apt-get install -y apache2-mpm-worker"
     - "cp apache.conf /etc/apache2/sites-available/default"
     - "a2enmod proxy_http"
     - "apache2ctl graceful"
  "load-gen":
     - "apt-get install -y httperf"
     - "ifconfig"

testdefaults:
  "*":
    teardown:
      - "uptime | perl -n -e '/load average: ([0-9.]+),/ && print $1 . \"\\n\"' > $LAVA_RESULT_DIR/attributes/$(lava-self)-load"
  "server":
    setup:
      - "C=$(pwd)"
      - "cd /srv/server01/"
      - "WORKER_COUNT=$(echo $LAVA_TEST_ID | cut -d- -f4)"
      - "/usr/bin/gunicorn --pid /var/run/gunicorn/server01.conf.pid --name server01.conf -c /var/lib/gunicorn-pyconf --name=server01_wiki --worker-class=eventlet --bind=0.0.0.0:8080 --workers=$WORKER_COUNT --log-file=/srv/server01/logs/gunicorn.log --timeout=300 wsgi &"
      - "sleep 1"
      - "cd $C"
      - "./compare_time_in_state.py"
      - "setsid sh -c 'while :; do o=$(cat /var/log/apache2/access.log | wc -l); sleep 5; p=$(cat /var/log/apache2/access.log | wc -l); echo handled $((p-o)) requests; python ./compare_time_in_state.py; done > $LAVA_RESULT_DIR/attachments/cpufreq-log-${LAVA_TEST_ID}.txt' &"
      - "echo $! > logging-pid"
    teardown:
      - "kill -TERM -$(echo $(ps -o pgid= $(cat logging-pid)))"
      - "kill -2 `cat /var/run/gunicorn/server01.conf.pid`"
      - "wait `cat /var/run/gunicorn/server01.conf.pid`"
      - "#mv perf.data $LAVA_RESULT_DIR/attachments/"
      - "#mv /tmp/plop.out.* $LAVA_RESULT_DIR/attachments/"
      - "#mv /srv/server01/logs/gunicorn.log $LAVA_RESULT_DIR/attachments/moinlog.txt"
      - "#mv /tmp/argh $LAVA_RESULT_DIR/attachments/argh.txt"
  "load-gen":
    run:
      - "#sleep $TEST_TIME"
      - "./run-loadgen.sh $LAVA_TEST_ID"

testcases:
  FrontPage-20-rps-1-worker:
  FrontPage-30-rps-1-worker:
  FrontPage-20-rps-2-worker:
  FrontPage-30-rps-2-worker:

postprocess: ./post-process.py