On Jul 26, 2006, at 4:48 AM, nEO (a.k.a. gentoo.cn) wrote:
> I just do a very simple ab test with Kid and Cheetah template in TG.
> All test project is tg-admin quickstart project use default dev
> settings(only changed cp listen port).
> Do a 100 concurents request and 10 concurents request each test,
> With redirect the output to /dev/null,
> The test code do 100 times loop in controller and pass a list to
> template, then template loop 100 times print the number out.
> Kid controllers and template:
> --------------------------------kid-
> controller---------------------------------
> @expose(template="ptestkid.templates.ptest")
> def ptest(self):
> times = 100
> t_list = []
> for t in xrange(times):
> t_list.append(str(t))
> return dict(t_list=t_list)
> ---------------------------------
> ptest.kid-------------------------------------
> <html xmlns:py="http://purl.org/kid/ns#">
> <head><title>Performance test</title></head>
> <body>
> <li py:for="t in t_list">${t}</li>
> </body>
> </html>
> ----------------------------------------------------------------------
> ------------
> ---------------------------------cheetah-
> controller-----------------------
> @expose(template="cheetah:ptestcheetah.templates.ptest")
> def ptest(self):
> times = 100
> t_list = []
> for t in xrange(times):
> t_list.append(str(t))
> return dict(t_list=t_list)
> ----------------------cheetah----
> ptest.tmpl---------------------------------
> <html>
> <head><title>Performance test</title></head>
> <body>
> #for $t in $t_list
> <li>$t</li>
> #end for
> </body>
> </html>
> ----------------------------------------------------------------------
> -----
> The ab2 test results:
> ======================================================================
> ====
> Cheetah
> gentoo ~ # ab2 -n 1000 -c 100 http://192.168.1.51:9080/ptest
> This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $>
> apache-2.0
> Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://
> www.zeustech.net/
> Copyright (c) 1998-2002 The Apache Software Foundation, http://
> www.apache.org/
> Benchmarking 192.168.1.51 (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
> Finished 1000 requests
> Server Software: CherryPy/2.2.1
> Server Hostname: 192.168.1.51
> Server Port: 9080
> Document Path: /ptest
> Document Length: 1377 bytes
> Concurrency Level: 100
> Time taken for tests: 5.810028 seconds
> Complete requests: 1000
> Failed requests: 1
> (Connect: 0, Length: 1, Exceptions: 0)
> Write errors: 0
> Non-2xx responses: 1
> Total transferred: 1505560 bytes
> HTML transferred: 1378548 bytes
> Requests per second: 172.12 [#/sec] (mean)
> Time per request: 581.003 [ms] (mean)
> Time per request: 5.810 [ms] (mean, across all concurrent
> requests)
> Transfer rate: 253.01 [Kbytes/sec] received
> Connection Times (ms)
> min mean[+/-sd] median max
> Connect: 0 66 440.2 0 3003
> Processing: 13 77 101.4 47 1268
> Waiting: 8 73 101.5 42 1268
> Total: 13 144 475.2 47 4129
> Percentage of the requests served within a certain time (ms)
> 50% 47
> 66% 55
> 75% 68
> 80% 125
> 90% 179
> 95% 230
> 98% 3041
> 99% 3064
> 100% 4129 (longest request)
> gentoo ~ #
> gentoo ~ # ab2 -n 1000 -c 10 http://192.168.1.51:9080/ptest
> This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $>
> apache-2.0
> Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://
> www.zeustech.net/
> Copyright (c) 1998-2002 The Apache Software Foundation, http://
> www.apache.org/
> Benchmarking 192.168.1.51 (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
> Finished 1000 requests
> Server Software: CherryPy/2.2.1
> Server Hostname: 192.168.1.51
> Server Port: 9080
> Document Path: /ptest
> Document Length: 1377 bytes
> Concurrency Level: 10
> Time taken for tests: 5.640210 seconds
> Complete requests: 1000
> Failed requests: 0
> Write errors: 0
> Total transferred: 1504000 bytes
> HTML transferred: 1377000 bytes
> Requests per second: 177.30 [#/sec] (mean)
> Time per request: 56.402 [ms] (mean)
> Time per request: 5.640 [ms] (mean, across all concurrent
> requests)
> Transfer rate: 260.27 [Kbytes/sec] received
> Connection Times (ms)
> min mean[+/-sd] median max
> Connect: 0 3 94.9 0 3002
> Processing: 11 49 87.6 42 1638
> Waiting: 8 45 87.5 38 1638
> Total: 11 52 129.3 42 3056
> Percentage of the requests served within a certain time (ms)
> 50% 42
> 66% 47
> 75% 50
> 80% 52
> 90% 58
> 95% 63
> 98% 70
> 99% 81
> 100% 3056 (longest request)
> gentoo ~ #
> ======================================================================
> =========
> Kid
> gentoo ~ # ab2 -n 1000 -c 100 http://192.168.1.51:9080/ptest
> This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $>
> apache-2.0
> Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://
> www.zeustech.net/
> Copyright (c) 1998-2002 The Apache Software Foundation, http://
> www.apache.org/
> Benchmarking 192.168.1.51 (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
> Finished 1000 requests
> Server Software: CherryPy/2.2.1
> Server Hostname: 192.168.1.51
> Server Port: 9080
> Document Path: /ptest
> Document Length: 1348 bytes
> Concurrency Level: 100
> Time taken for tests: 21.659279 seconds
> Complete requests: 1000
> Failed requests: 0
> Write errors: 0
> Total transferred: 1490000 bytes
> HTML transferred: 1348000 bytes
> Requests per second: 46.17 [#/sec] (mean)
> Time per request: 2165.928 [ms] (mean)
> Time per request: 21.659 [ms] (mean, across all concurrent
> requests)
> Transfer rate: 67.18 [Kbytes/sec] received
> Connection Times (ms)
> min mean[+/-sd] median max
> Connect: 0 438 1085.3 0 9000
> Processing: 32 1142 2451.7 388 18649
> Waiting: 31 1133 2449.0 375 18630
> Total: 32 1580 3188.2 581 21650
> Percentage of the requests served within a certain time (ms)
> 50% 581
> 66% 1082
> 75% 1083
> 80% 1084
> 90% 3731
> 95% 11142
> 98% 11740
> 99% 12108
> 100% 21650 (longest request)
> gentoo ~ #
> gentoo ~ # ab2 -n 1000 -c 10 http://192.168.1.51:9080/ptest
> This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $>
> apache-2.0
> Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://
> www.zeustech.net/
> Copyright (c) 1998-2002 The Apache Software Foundation, http://
> www.apache.org/
> Benchmarking 192.168.1.51 (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
> Finished 1000 requests
> Server Software: CherryPy/2.2.1
> Server Hostname: 192.168.1.51
> Server Port: 9080
> Document Path: /ptest
> Document Length: 1348 bytes
> Concurrency Level: 10
> Time taken for tests: 17.737777 seconds
> Complete requests: 1000
> Failed requests: 0
> Write errors: 0
> Total transferred: 1491490 bytes
> HTML transferred: 1349348 bytes
> Requests per second: 56.38 [#/sec] (mean)
> Time per request: 177.378 [ms] (mean)
> Time per request: 17.738 [ms] (mean, across all concurrent
> requests)
> Transfer rate: 82.08 [Kbytes/sec] received
> Connection Times (ms)
> min mean[+/-sd] median max
> Connect: 0 9 164.2 0 3002
> Processing: 42 165 403.2 138 8055
> Waiting: 37 151 403.3 122 8040
> Total: 42 174 486.1 138 11057
> Percentage of the requests served within a certain time (ms)
> 50% 138
> 66% 154
> 75% 159
> 80% 170
> 90% 182
> 95% 200
> 98% 242
> 99% 527
> 100% 11057 (longest request)
> gentoo ~ #
> --
> I'm the one, powered by nEO