[Catalyst] Non-real world irrelevant benchmarks

Jonathan Rockway jon at jrock.us
Fri Nov 17 23:25:25 GMT 2006


Michael Reece wrote:
> fwiw, earlier this week i ran some simple 'ab -n 100 -c 10' benchmarks
> comparing an existing complex Mason site with the same site sitting
> behind a simple Catalyst front end.

Also, FWIW, I benchmarked basecamp today.  Here's a benchmark for a page
I don't have permission to view (i.e. an error page):

Server Software:        Apache/1.3.37
Server Hostname:        ***.projectpath.com
Server Port:            443
SSL/TLS Protocol:       TLSv1/SSLv3,DHE-RSA-AES256-SHA,1024,256

Document Path:          /projects/*****/milestones
Document Length:        129 bytes

Concurrency Level:      1
Time taken for tests:   9.987159 seconds
Complete requests:      40
Failed requests:        0
Write errors:           0
Non-2xx responses:      40
Total transferred:      17440 bytes
HTML transferred:       5160 bytes
Requests per second:    4.01 [#/sec] (mean)
Time per request:       249.679 [ms] (mean)
Time per request:       249.679 [ms] (mean, across all concurrent requests)
Transfer rate:          1.70 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:      176  181   3.1    182     192
Processing:    55   66  28.2     59     209
Waiting:       55   66  28.3     58     209
Total:        235  248  29.0    241     394

Percentage of the requests served within a certain time (ms)
  50%    241
  66%    244
  75%    245
  80%    247
  90%    254
  95%    343
  98%    394
  99%    394
 100%    394 (longest request)

15-18 requests per second.  For an error page.

Basically, in the real world, web apps don't give you 1000 requests per
second.  So even though Catalyst has an upper limit, it's way above what
your database (and bandwidth) can handle anyway.  No need to worry too much.

Here's a benchmark for Angerwhale:


Server Software:        Apache/1.3.29
Server Hostname:        blog.jrock.us
Server Port:            80

Document Path:          /articles/CatBot.html
Document Length:        9598 bytes

Concurrency Level:      1
Time taken for tests:   3.409197 seconds
Complete requests:      40
Failed requests:        0
Write errors:           0
Total transferred:      396360 bytes
HTML transferred:       383920 bytes
Requests per second:    11.73 [#/sec] (mean)
Time per request:       85.230 [ms] (mean)
Time per request:       85.230 [ms] (mean, across all concurrent requests)
Transfer rate:          113.52 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:    83   84   3.3     84     103
Waiting:       82   83   3.3     83     102
Total:         83   84   3.3     84     103

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

Enjoy.

-- 
package JAPH;use Catalyst qw/-Debug/;($;=JAPH)->config(name => do {
$,.=reverse qw[Jonathan tsu rehton lre rekca Rockway][$_].[split //,
";$;"]->[$_].q; ;for 1..4;$,=~s;^.;;;$,});$;->setup;



More information about the Catalyst mailing list