[Systems] Benchmarking aslo-proxy
Bernie Innocenti
bernie at codewiz.org
Sun Nov 15 19:17:37 EST 2009
I tried to measure the overhead of these 3 scenarios:
1) aslo-proxy.sugarlabs.org: 9.94 reqs/sec
2) activities.sugarlabs.org: 9.83 reqs/sec
3) aslo-web.sugarlabs.org: 1.90 reqs/sec
I've performed all three tests from the machine hosting the service to
ensure no network overhead. The overhead of ab itself is negligible with
with so few connections per second.
There's definitely something wrong with aslo-web's configuration. I'd
expect it to perform approximately as well as sunjammer, because the CPU
speeds are equivalent. Is APC installed?
Note that proxying a PHP application with Squid generally does not buy
anything, because all static files are already being served by Apache
directly, which in turn uses mod_mem_cache.
We may also add kludgy rules to cache the most frequently accessed pages
for a few minutes (Wikipedia style), but this would also introduce
complexity and fragility so I'd rather delay such optimizations until
we'll run out of better options.
Now, the only purpose of going through Squid would be to balance traffic
to multiple applications servers. Of which, we only have one at this
time.
Do we want to keep the aslo instance on sunjammer in production
alongside the new one until we get a new machine?
----------8<----------8<----------8<----------8<----------8<----------
130!aslo-proxy:~# ab -n 1000 -c 4 http://aslo-proxy.sugarlabs.org/en-US/sugar/
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 aslo-proxy.sugarlabs.org (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: Apache/2.2.11
Server Hostname: aslo-proxy.sugarlabs.org
Server Port: 80
Document Path: /en-US/sugar/
Document Length: 38132 bytes
Concurrency Level: 4
Time taken for tests: 100.580 seconds
Complete requests: 1000
Failed requests: 762
(Connect: 0, Receive: 0, Length: 762, Exceptions: 0)
Write errors: 0
Total transferred: 38528786 bytes
HTML transferred: 38062786 bytes
Requests per second: 9.94 [#/sec] (mean)
Time per request: 402.322 [ms] (mean)
Time per request: 100.580 [ms] (mean, across all concurrent requests)
Transfer rate: 374.09 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 1.5 0 46
Processing: 180 402 183.0 380 2782
Waiting: 160 372 175.5 349 2668
Total: 180 402 183.0 380 2782
Percentage of the requests served within a certain time (ms)
50% 380
66% 417
75% 442
80% 464
90% 520
95% 585
98% 670
99% 929
100% 2782 (longest request)
----------8<----------8<----------8<----------8<----------8<----------
130!sunjammer:~# ab -n 1000 -c 4 http://activities.sugarlabs.org/en-US/sugar/
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 activities.sugarlabs.org (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: Apache/2.2.11
Server Hostname: activities.sugarlabs.org
Server Port: 80
Document Path: /en-US/sugar/
Document Length: 37935 bytes
Concurrency Level: 4
Time taken for tests: 101.718 seconds
Complete requests: 1000
Failed requests: 996
(Connect: 0, Receive: 0, Length: 996, Exceptions: 0)
Write errors: 0
Total transferred: 38487710 bytes
HTML transferred: 38132710 bytes
Requests per second: 9.83 [#/sec] (mean)
Time per request: 406.873 [ms] (mean)
Time per request: 101.718 [ms] (mean, across all concurrent requests)
Transfer rate: 369.51 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.6 0 13
Processing: 172 406 134.7 383 1642
Waiting: 150 385 126.2 366 1496
Total: 172 407 134.7 383 1642
Percentage of the requests served within a certain time (ms)
50% 383
66% 423
75% 457
80% 473
90% 531
95% 585
98% 691
99% 838
100% 1642 (longest request)
sunjammer:~#
----------8<----------8<----------8<----------8<----------8<----------
bernie at aslo-web:~$ ab -n 1000 -c 4 http://aslo-web.sugarlabs.org/en-US/sugar/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 aslo-web.sugarlabs.org (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: Apache/2.2.12
Server Hostname: aslo-web.sugarlabs.org
Server Port: 80
Document Path: /en-US/sugar/
Document Length: 38421 bytes
Concurrency Level: 4
Time taken for tests: 527.102 seconds
Complete requests: 1000
Failed requests: 999
(Connect: 0, Receive: 0, Length: 999, Exceptions: 0)
Write errors: 0
Total transferred: 38382416 bytes
HTML transferred: 38150416 bytes
Requests per second: 1.90 [#/sec] (mean)
Time per request: 2108.409 [ms] (mean)
Time per request: 527.102 [ms] (mean, across all concurrent requests)
Transfer rate: 71.11 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.6 0 19
Processing: 1264 2105 320.1 2074 3818
Waiting: 1239 2077 316.8 2051 3784
Total: 1264 2105 320.1 2074 3818
Percentage of the requests served within a certain time (ms)
50% 2074
66% 2202
75% 2300
80% 2350
90% 2491
95% 2641
98% 2885
99% 3126
100% 3818 (longest request)
--
// Bernie Innocenti - http://codewiz.org/
\X/ Sugar Labs - http://sugarlabs.org/
More information about the Systems
mailing list