FAQ
Good afternoon,

I'm building a large e-commerce site, and it is very important that
what I write can:
- Handle large server loads
- Deliver pages quickly
- Make transactions quickly

as well as have a small development time (i.e. pre-built modules for
e-commerce are available, and are extendible).

Are there recent accessible statistics available, comparing these
metrics across the most popular web-frameworks? (i.e. Symfony, DJango,
Rails, ASP.NET &etc)

Thanks for all information,

Alec Taylor

Search Discussions

  • Tobias Kremer at Nov 3, 2011 at 11:00 am
    Hi Alec,
    On Thu, Nov 3, 2011 at 11:42 AM, Alec Taylor wrote:
    Are there recent accessible statistics available, comparing these
    metrics across the most popular web-frameworks? (i.e. Symfony, DJango,
    Rails, ASP.NET &etc)
    I don't have any statistics, but I can tell you that Catalyst handles
    50 million pageviews a month for us with just two
    web-/application-servers and there's still a lot of room (CPU-load
    peaks at around 2 on a quad-core). Your bottleneck will almost always
    be your database, most certainly not Catalyst. Comparing Catalyst to
    other frameworks in a "Hello world"-style benchmark (as has been done
    by some people in the past) really proves absolutely nothing because
    your app will probably spend 80% of its time waiting for the database.

    Catalyst has a lot of pre-built components/plugins that will help you
    with almost every aspect you'll have to deal with:
    https://metacpan.org/search?q=catalyst%3A%3Aplugin

    If you're looking for complete, ready-to-use applications (like
    Magento) I guess you need to start looking in the direction of PHP
    because neither Perl nor Python or Ruby offer that much variety there.
    But if what you want is a custom solution, I can whole-heartedly
    recommend Catalyst and its ecosystem!

    HTH,
    Toby
  • Kieren Diment at Nov 3, 2011 at 8:10 pm

    On 03/11/2011, at 10:00 PM, Tobias Kremer wrote:

    Hi Alec,
    On Thu, Nov 3, 2011 at 11:42 AM, Alec Taylor wrote:
    Are there recent accessible statistics available, comparing these
    metrics across the most popular web-frameworks? (i.e. Symfony, DJango,
    Rails, ASP.NET &etc)
    There's one catalyst site in the adult industry sector which has an alexia rank of 81. To the best of my knowledge they don't have to use excessive hardware, or use baroque framework customisations to serve pages effectively. The BBC iplayer is another very high traffic site that achieves similar scale (it might even have more traffic than the adult site).

    On the other end, I have a single user data analysis app that is quite fast and responsive, even though its data model does some potentially inefficient stuff with the file system, but this hasn't been an issue for me to date. You'll note there again that it's the model that's the bottleneck not the framework.

    And in terms of development process, right now my team are having to do some fairly heavy repurposing parts of an existing app without breaking backwards compatibility with other bits, under fairly tight deadlines. While this type of work is never going to be especially easy (in terms of accumulating cruft and introducing architectural complexity), a tool like catalyst really helps achieve the deliverables and keep the customer happy.
    I don't have any statistics, but I can tell you that Catalyst handles
    50 million pageviews a month for us with just two
    web-/application-servers and there's still a lot of room (CPU-load
    peaks at around 2 on a quad-core). Your bottleneck will almost always
    be your database, most certainly not Catalyst. Comparing Catalyst to
    other frameworks in a "Hello world"-style benchmark (as has been done
    by some people in the past) really proves absolutely nothing because
    your app will probably spend 80% of its time waiting for the database.

    Catalyst has a lot of pre-built components/plugins that will help you
    with almost every aspect you'll have to deal with:
    https://metacpan.org/search?q=catalyst%3A%3Aplugin


    These days you should be looking in the Catalyst::Controller, and Catalyst::TraitFor namespaces for extensions, except for the few that really need to mess with the request cycle. Which are still plugins.There's also a whole bunch of Catalyst::Models on CPAN too, as well as the Catalyst::Model::Adaptor family of modules for gluing other arbitrary things into catalyst.
    If you're looking for complete, ready-to-use applications (like
    Magento) I guess you need to start looking in the direction of PHP
    because neither Perl nor Python or Ruby offer that much variety there.
    But if what you want is a custom solution, I can whole-heartedly
    recommend Catalyst and its ecosystem!
    Yes, PHP owns the ready to roll one-size-fits-all-for-one-click-deployment-on-shared-hosting space. I don't see that changing any time soon.
  • Aaron Trevena at Nov 3, 2011 at 1:19 pm

    On 3 November 2011 10:42, Alec Taylor wrote:
    Good afternoon,

    I'm building a large e-commerce site, and it is very important that
    what I write can:
    - Handle large server loads
    - Deliver pages quickly
    - Make transactions quickly

    as well as have a small development time (i.e. pre-built modules for
    e-commerce are available, and are extendible).

    Are there recent accessible statistics available, comparing these
    metrics across the most popular web-frameworks? (i.e. Symfony, DJango,
    Rails, ASP.NET &etc)
    No metrics are available as all major MVC frameworks use a fairly
    standard combination of Template rendering, ORM data layer, etc and
    solve the underlying inherent performance problems of using ORM in
    similar ways.

    The best example of that is to look at and understand
    http://use-the-index-luke.com/sql/join/nested-loops-join-n1-problem -
    essentially you need to avoid any framework with a data layer that
    doesn't have a solution to this problem, and know how to use it
    correctly when you pick one to avoid hitting it accidentally.

    There also aren't really any metrics for development time - the
    closest thing is the Plat_Forms competition
    (http://www.plat-forms.org/ their last report was from 2007 and so is
    a bit out of date, particularly about technical features available to
    frameworks such as WSDL support), which avoids such metrics as it's
    comparing apples and pears - however it is very informative and will
    be publishing this years report in 2-3 weeks - if you're doing a
    proper evaluation of frameworks this is essential reading about the
    state of the art in the widest used general purpose MVC frameworks in
    Europe (it doesn't include CMS/Blog platforms that have been extended
    to act as application servers like Django or Wordpress). There's also
    http://chrislaco.com/blog/mvc-marathon/ which although from 2008 is
    still pretty interesting.

    Hope that helps,

    A.

    --
    Aaron J Trevena, BSc Hons
    http://www.aarontrevena.co.uk
    LAMP System Integration, Development and Consulting

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupcatalyst @
categoriescatalyst, perl
postedNov 3, '11 at 10:42a
activeNov 3, '11 at 8:10p
posts4
users4
websitecatalystframework.org
irc#catalyst

People

Translate

site design / logo © 2021 Grokbase