~mwhudson/+junk/bench-fake-autobench

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
66
67
68
metadata:
  name: mwhudson-autobench-norps-apache
  format: "Lava-Test Test Definition 1.0"
  description:
    Just some hacking.
  os:
    - ubuntu
  environment:
    - lava-test-shell

install:
    bzr-repos:
      - lp:~mwhudson/+junk/fakedispatcher-shim

run:
    steps:
      - ./fakedispatcher-shim/run-from-lava-test-shell


devices:
  - role: load-gen
    count: 2
    image_type: kvm
  - role: server
    count: 1
    image_type: kvm

initialization:
  "*":
    - "export TEST_TIME=60"
    - "export SERVER_RECOVER_TIME=0"
    - "export NUM_CALL=10"
    - "export LOAD_GENS_PER_NODE=4"
    - "export RUN_RATES='1000,2000,3000,4000,5000,6000,7000,8000,9000,10000,11000,12000,13000,14000,15000,16000,17000,18000,19000,20000,21000,22000,23000,24000,25000,26000,27000,28000,29000,30000'"
    - "export RUN_RATES='3000,6000'"
    - "export RUN_SIZES='0k,1k,10k,100k'"
    - "export RUN_SIZES='1k'"
    - "lava-mn-set-up-hosts-file"
    - "cat /etc/hosts"
    - "export LOADGEN_COUNT=$(lava-group | grep load-gen | wc -l)"
  "load-gen":
    - "apt-get install -y httperf"
  "server":
    - "apt-get install -y apache2-mpm-worker"
    - "sed -i -e 's/MaxClients\\s\\+[0-9]\\+/MaxClients 400/' /etc/apache2/apache2.conf"
    - "a2dismod status"
    - "apache2ctl restart"
    - "ROOT=/var/www"
    - "#echo f > /sys/class/net/eth0/queues/rx-0/rps_cpus"
    - "touch $ROOT/0k"
    - "head -c $((1*1024)) /dev/urandom > $ROOT/1k"
    - "head -c $((10*1024)) /dev/urandom > $ROOT/10k"
    - "head -c $((100*1024)) /dev/urandom > $ROOT/100k"

testdefaults:
  "*":
    teardown:
      - "uptime | perl -n -e '/load average: ([0-9.]+),/ && print $1 . \"\\n\"' | lava-mn-save-stdin load "
  "load-gen":
    run:
      - "./run-loadgen.sh $LAVA_TEST_ID"

testcases:
  "1k-3000":
  "1k-6000":
  "1k-9000":

postprocess: ./post-process.sh