Thought I'd run a few benchmarks to see how the linode performs under load. I'm pretty new to ab, so please advise if my methodology is flawed.
Specifically, I'm running ab locally on the linode, is this the correct way?
Test 1: Wordpress
Code:
ab -n 5000 -c 200 http://www.greenandgoldrugby.com/index.php
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Server Software: nginx/0.7.67
Server Hostname: www.greenandgoldrugby.com
Server Port: 80
Document Path: /index.php
Document Length: 0 bytes
Concurrency Level: 200
Time taken for tests: 166.936032 seconds
Complete requests: 5000
Failed requests: 4
(Connect: 0, Length: 4, Exceptions: 0)
Write errors: 0
Non-2xx responses: 4991
Total transferred: 2930466 bytes
HTML transferred: 732 bytes
Requests per second: 29.95 [#/sec] (mean)
Time per request: 6677.441 [ms] (mean)
Time per request: 33.387 [ms] (mean, across all concurrent requests)
Transfer rate: 17.14 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 1.6 0 14
Processing: 163 5952 4896.2 4904 90019
Waiting: 163 5952 4896.2 4904 90018
Total: 163 5952 4896.7 4904 90032
Percentage of the requests served within a certain time (ms)
50% 4904
66% 5252
75% 5569
80% 5914
90% 8132
95% 11745
98% 18430
99% 25911
100% 90032 (longest request)
My observations with htop during the testing window
Code:
# requests Mem Used
Idle 543MB
500 requests 563MB
1000 requests 609MB
1500 requests 693MB
2000 requests 750MB
2500 requests 775MB
3000 requests 777MB
3500 requests 778MB
4000 requests 776MB
4500 requests 774MB
5000 requests 646MB
Test 2: vBulletinCode:
ab -n 5000 -c 200 http://www.greenandgoldrugby.com/forum/index.php
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking www.greenandgoldrugby.com (be patient)
Completed 500 requests
Completed 1000 requests
Completed 1500 requests
Completed 2000 requests
Completed 2500 requests
Completed 3000 requests
Completed 3500 requests
Completed 4000 requests
Completed 4500 requests
Finished 5000 requests
Server Software: nginx/0.7.67
Server Hostname: www.greenandgoldrugby.com
Server Port: 80
Document Path: /forum/index.php
Document Length: 14153 bytes
Concurrency Level: 200
Time taken for tests: 53.260688 seconds
Complete requests: 5000
Failed requests: 0
Write errors: 0
Total transferred: 73275464 bytes
HTML transferred: 70765000 bytes
Requests per second: 93.88 [#/sec] (mean)
Time per request: 2130.428 [ms] (mean)
Time per request: 10.652 [ms] (mean, across all concurrent requests)
Transfer rate: 1343.54 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 2.4 0 20
Processing: 80 1824 1571.1 1423 22346
Waiting: 80 1819 1568.3 1420 22343
Total: 80 1824 1571.5 1423 22346
Percentage of the requests served within a certain time (ms)
50% 1423
66% 1538
75% 1663
80% 1768
90% 2154
95% 4482
98% 6490
99% 10339
100% 22346 (longest request)
Observations with htop during the testing window
Code:
# requests Mem Used
Idle 544MB
500 requests 547MB
1000 requests 562MB
1500 requests 568MB
2000 requests 575MB
2500 requests 658MB
3000 requests 665MB
3500 requests 669MB
4000 requests 674MB
4500 requests 681MB
5000 requests 631MB
Looking at this, I'm amazed at just how much quicker vBulletin is than Wordpress. I'm happy the server can handle this sort of concurrency without breaking a sweat.
Sure the load goes up, but I was able to hapilly browse the site during these tests.