Skip to content

Instantly share code, notes, and snippets.

@Enome
Created October 6, 2012 14:39
Show Gist options
  • Select an option

  • Save Enome/3845077 to your computer and use it in GitHub Desktop.

Select an option

Save Enome/3845077 to your computer and use it in GitHub Desktop.

Details

Test

Benchmarked with ApacheBench. The test is 10 concurrent request 10 times so 100 requests. I wanted to do 1000 requests but the pure Umbraco test would put to much presure on my server. I am using my production server for this so the tests can be taken with a grain of salt.

Server

I am using a medium Azure virtual machine (Medium VM (2 x 1.6GHz CPU, 3.5GB RAM)

https://www.windowsazure.com/en-us/pricing/calculator/?scenario=virtual-machines

The Proxy

For the proxy I am using Node Http Proxy module. I am only caching aspx files all static files (css, image and js) are not cached. The caching is done to disk so I could make it even faster by using key/value storage like redis.

Highlights

With proxy/cache:

Memory used: 62MB (https://www.dropbox.com/s/6s6a28m6nmjlaye/with.png)

Time taken for tests: 5.333 seconds
Requests per second: 18.75/sec

Without Proxy/cache:

Memory used: 722MB (https://www.dropbox.com/s/mq6p5pn0gzyl0xi/without.png)

Time taken for tests: 128.401 seconds
Requests per second: 0.78/sec

~> ab -n 100 -c 10 http://geens-ramen.be/producten/hout.aspx
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 geens-ramen.be (be patient).....done
Server Software: Microsoft-IIS/7.5
Server Hostname: geens-ramen.be
Server Port: 80
Document Path: /producten/hout.aspx
Document Length: 25048 bytes
Concurrency Level: 10
Time taken for tests: 5.333 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 2521900 bytes
HTML transferred: 2504800 bytes
Requests per second: 18.75 [#/sec] (mean)
Time per request: 533.321 [ms] (mean)
Time per request: 53.332 [ms] (mean, across all concurrent requests)
Transfer rate: 461.78 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 97 103 2.7 103 109
Processing: 399 425 13.5 424 478
Waiting: 102 112 10.6 110 155
Total: 501 528 14.7 527 581
Percentage of the requests served within a certain time (ms)
50% 527
66% 533
75% 536
80% 537
90% 549
95% 555
98% 577
99% 581
100% 581 (longest request)
~> ab -n 100 -c 10 http://enome.cloudapp.net:9001/producten/hout.aspx
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 enome.cloudapp.net (be patient).....done
Server Software: Microsoft-IIS/7.5
Server Hostname: enome.cloudapp.net
Server Port: 9001
Document Path: /producten/hout.aspx
Document Length: 25048 bytes
Concurrency Level: 10
Time taken for tests: 128.401 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 2531300 bytes
HTML transferred: 2504800 bytes
Requests per second: 0.78 [#/sec] (mean)
Time per request: 12840.055 [ms] (mean)
Time per request: 1284.006 [ms] (mean, across all concurrent requests)
Transfer rate: 19.25 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 99 105 10.7 103 186
Processing: 2845 12289 2496.0 12856 17161
Waiting: 2537 11981 2495.6 12542 16846
Total: 2944 12394 2496.6 12956 17264
Percentage of the requests served within a certain time (ms)
50% 12956
66% 13518
75% 13737
80% 14063
90% 15195
95% 16131
98% 16641
99% 17264
100% 17264 (longest request)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment