Skip to content

Files

Latest commit

4ccdb24 · Oct 2, 2019

History

History
This branch is 42 commits behind oscarlab/graphene-tests:master.

lighttpd

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Jun 11, 2019
Jun 11, 2019
Sep 26, 2019
Sep 11, 2019
Oct 2, 2019
Jun 10, 2019
Jun 10, 2019
Jun 11, 2019
Jun 10, 2019
This sample integration is being reworked and will soon be updated. If you are interested in the
details, you can take a look at the relevant PR: oscarlab#37.

Running lighttpd tests is conceptually straightforward. You start a
server, then make requests from a remote host. There are some good
websites/blogs that discuss properly benchmarking a webserver. We want
to test how efficiently Graphene handles requests, not the speed of
the network stack in the OS. So we are using very small static files.
See the wiki page for more details.

7/23/13:

To start a server in graphene,
   make start-graphene-server

To start a server on any other platform,
   make start-native-server

Now that your server is up and running, it is time to test it.  From a
remote host, you can use the run-apachebench.sh script to programatically submit
requests at various loads. The usage of that script is as follows:
   ./run-apachebench.sh <ip-of-server> <port-of-server> <concurrency-level>

The script will append the output to a file "ab.n<N>.c<C>"

The output will look something like this:

*** BEGIN OUTPUT ***

This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 130.245.153.32 (be patient)


Server Software:        lighttpd/1.4.30
Server Hostname:        130.245.153.32
Server Port:            8000

Document Path:          /random/100.1.html
Document Length:        100 bytes

Concurrency Level:      100
Time taken for tests:   4.110 seconds
Complete requests:      50000
Failed requests:        0
Write errors:           0
Total transferred:      16650000 bytes
HTML transferred:       5000000 bytes
Requests per second:    12164.64 [#/sec] (mean)
Time per request:       8.221 [ms] (mean)
Time per request:       0.082 [ms] (mean, across all concurrent requests)
Transfer rate:          3955.88 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       1
Processing:     1    8   8.7      7     202
Waiting:        1    8   8.7      7     202
Total:          2    8   8.7      8     203

Percentage of the requests served within a certain time (ms)
  50%      8
  66%      8
  75%      8
  80%      8
  90%      8
  95%      8
  98%      8
  99%      8
 100%    203 (longest request)

*** END OUTPUT ***

The number we were reporting is the transfer rate. So for this
example, the we would report a bandwidth of 3.95588 Mbytes/second.



NOTES:

To run kvm and lxc, you need to set up a bridge. But you do not want
extraneous interfaces when you are not using them, so make
sure to bring them down before testing native linux or graphene.

If you are within kvm or lxc, your ip will not be that of your
host. Make sure your ip matches the ip in the conf file.

If you have a lot of time and want to do a good job, throw out the top
and the low numbers, and report the mean of your large sample.