Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Catalyst: Dev
Catalyst Performance Testing
 

Index | Next | Previous | View Flat


jwieland at gmail

Apr 22, 2009, 5:50 PM


Views: 1178
Permalink
Catalyst Performance Testing

Hello Crew,

I've been using Catalyst for a while now, thank you great framework. I
have a new project that requires a much higher performance than my
previous projects and I decided to do some load testing and would like
to share my results for a sanity check.
I tested two flavors: nginx + fastcgi and apache + modperl and I'm
using version 5.71 of Catalyst

Baseline: Just using the webserver (apache or nginx) to download a
static file
Static Catalyst: Running the same query but going through Catalyst to
retrieve the same static file (using Static::Simple)
Noop Catalyst: Processing a request on a empty controller

* all numbers in request per second
Nginx + Fastcgi + Catalyst
---------------------------
Baseline: 1553 req/s
Static Catalyst: 134
Noop Catalyst: 91

Apache + Modperl + Catalyst
-----------------------------
Baseline: 976
Static Catalyst: 120
Noop Catalyst: 84


So a couple questions:
* Looking at these results. Do they seem consistent in what the
overhead of Catalyst should be?
* Is there advice that can be done to disable feature in Catalyst I
might not need in order to increase performance?
- I've took out StackTrace and -Debug from the main pm file
- I've removed the $log as well
* Does upgrading to 5.8 increase performance?

I wrote a very simple 10 line modperl app that just grabs a static file
and dumps it to STDOUT just for a little more comparison:
Static Modperl: 472 reqs/sec

So there is ~71% efficiency hit in using Catalyst to serve a static file
and simple modperl script. Granted Catalyst is doing a lot more stuff
but seems like a humongous hit to take.

How was the load testing performed: apache ab from multiple client servers
ex: ab -t 10 -c 40 "http://x-x-x-x.compute-1.amazonaws.com/foo/"
* Each test was run three times and the results where averaged
* modperl and fastcgi process memory was preloaded prior to test execution

Hardware: AWS EC2 - small instance

Apache Settings:
<IfModule mpm_prefork_module>
StartServers 45
MinSpareServers 30
MaxSpareServers 45
MaxClients 45
MaxRequestsPerChild 0
</IfModule>

FastCGI Setttings:
..../script/xxxx_fastcgi.pl -n 35 -d


Also completely unrelated. I could not get Catalyst working on the
mpm_worker_module. Is Catalyst not thread safe?


Thanks in advance for your time,

Jason Wieland

_______________________________________________
Catalyst-dev mailing list
Catalyst-dev[at]lists.scsys.co.uk
http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst-dev

Subject User Time
Catalyst Performance Testing jwieland at gmail Apr 22, 2009, 5:50 PM
    Re: Catalyst Performance Testing peter at peknet Apr 22, 2009, 6:20 PM
        Re: Catalyst Performance Testing jwieland at gmail Apr 22, 2009, 8:12 PM
            Re: Catalyst Performance Testing hdp.perl.catalyst.dev at weftsoar Apr 22, 2009, 8:19 PM
            Re: Catalyst Performance Testing peter at peknet Apr 22, 2009, 8:45 PM
                Re: Catalyst Performance Testing diment at gmail Apr 22, 2009, 8:51 PM
    Re: Catalyst Performance Testing dbix-class at trout Apr 23, 2009, 10:56 AM
        Re: Catalyst Performance Testing jwieland at gmail Apr 23, 2009, 1:41 PM
            Re: Catalyst Performance Testing dbix-class at trout Apr 27, 2009, 4:17 AM

  Index | Next | Previous | View Flat
 
 


Interested in having your list archived? Contact lists@gossamer-threads.com
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.