28

Sep

Filed in Django, iBegin |

So we’ve been pushing live some changes the last few days over at iBegin. The biggest one is our brand new Django-powered website. The reason I bring this up, is to show all the haters out there, that Django really can scale well if you’ve designed your architecture properly from the get-go.

We haven’t been able to peak yet, as we’re still doing some configuration changes and changes to the website itself, but so far the numbers are VERY impressive. The server is shared between all of our websites, which are both PHP and Python (Django) powered. It also hosts the memcached instance, and the static files. In fact, the only thing which is not hosted on the server, is the database.

Anyways, here’s what we’ve been able to achieve off some initial siege tests. Keep in mind, this is limited to a single (somewhat randomly chosen) URL, and it varies a little bit depending on which page you’re hitting (file sizes, cache expirations, etc.). The average we’re seeing right now is around 200 req/s consistently across the website with siege tests, and our top numbers are around 500 req/s.

ifting the server siege...      done.
Transactions:               23305 hits
Availability:              100.00 %
Elapsed time:               43.32 secs
Data transferred:          434.98 MB
Response time:                0.05 secs
Transaction rate:          537.97 trans/sec
Throughput:               10.04 MB/sec
Concurrency:               26.68
Successful transactions:       23305
Failed transactions:               0
Longest transaction:            0.69
Shortest transaction:            0.00

I will post more results once we’ve tweaked some of the configuration settings, and I’ve created a proper URL configuration for siege to target.

  • It was just a quick test using the "siege" application available on unix-based systems.
  • Hi David,

    I was just wondering what software you used to do the siege testing with? Httperf or Apache Benchmark, for instance?

    Thanks,

    Mike
  • Any chance of getting those "proper architecture design" tips?
  • This is single server, that's fairly mediocre in hardware. The only modifications to Django is our composite primary key support.

    Thanks Tomek, sphinx (search) was down. We're still having some issues with error emails and sphinx didn't have an init.d script setup yet.
  • This: http://ibegin.com/search/?q=lawyer&w=chicago produces proud I.S.E. 500.
  • andrey
    Wow, 500 req/sec on a single server?!

    Have you made any special tweakings to Django or just used it in a "standard" way? We are building a project with Django and it would be nice to know how far we can get without any tricky optimizations.
  • Ya we launched Sunday -- didn't get those random pages up yet (they're just intended to be Flatpages, so I'm leaving it up to someone else :P)
  • snirp
    Oh well, so are some more URL's. Seem to have reached you at early beta.
  • snirp
    The following returns 404:
    http://www.ibegin.com/philosophy/
blog comments powered by Disqus