-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
70 lines (55 loc) · 2.68 KB
/
README
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
69
70
Environment Setup:
==================
1. Prepare the KVM host:
- Make sure qemu and libvirt are installed
- Configure bridged networking
- Make sure guests can get an IP address and set their hostname via DHCP
- Make sure your host can launch VMs from arbitrary directories (you may
need to put SELinux or AppArmour in permissive mode)
2. Prepare the Driver host:
This machine will be generating lots of network traffic to your VMs so it
should be on a fast link that you don't mind saturating. You may use the
KVM host as the driver, but the added jmeter activity will impact the
quality of your results.
- Install a recent, high-quality JRE (ie. IBM JRE 1.6)
- Install Apache jmeter: http://jakarta.apache.org/jmeter/
3. Install Cloudy on the KVM host:
git clone git://kernel.beaverton.ibm.com/~aglitke/cloudy.git
cd cloudy
4. Create the base image:
sudo ./create-baseimage
- This will install Fedora 12 onto a new disk image that will be used as a
template for the virtual machines.
- Sudo must be used because qemu needs permission to set up the network.
5. Create individual VM instances:
./create-instance <nr>
- You should create a sequence of these from 1..N
Executing the Benchmark:
========================
1. Copy driver files to the driver host:
scp client/cloudy.jmx client/analyze_jmeter.pl <driver-host>:
2. Start the cloudy VM instances:
for i in `seq 1 $N`; do
sudo virsh create instances/cloudy-$i/domain.xml
done
- Sudo must be used because qemu needs permission to set up the network.
- If this is the first time they are booted, the VMs will perform
self-configuration (configure mediawiki, set hostname, etc). When this is
complete, you should be able to see a wiki at http://cloudy-<nr>/wiki.
You can check the status of configuration by going to http://cloudy-<nr>/.
3. Execute the jmeter test plan
jmeter -n -t test.jmx -l <results-file> -Jnr_hosts=<nr_hosts> \
-Jthreads=<threads> \
-Jruntime=<runtime> \
-Jrampup=<rampup>
Where:
<results-file> is the file to record jmeter results to
<nr_hosts> is the number of cloudy VMs to target simultaneously
<threads> is the number simultaneous users (per VM)
<runtime> sets the duration of the run (in seconds)
<rampup> defines how long it should take for all threads to be started
4. Process the results:
mkdir plots/
./analyse-jmeter.pl -o summary -p plots <results-file>
- The summary file contains post-processed jmeter results (including quality
of service and throughput metrics).