[Grok-dev] Assembly Alive 2.0

Christian Theune ct at gocept.com
Sat Aug 4 13:03:53 EDT 2007

Am Samstag, den 04.08.2007, 17:21 +0200 schrieb Christian Theune:
> Am Freitag, den 03.08.2007, 00:47 +0200 schrieb Tim:
> > On Thursday 02 August 2007 13.13.32 Christian Theune wrote:
> > > I'm proud to present one of my projects that I've been working on
> > > lately, that went live today: Assembly Alive 2.0
> > >
> > > It's based on current grok and Zope 3, running behind nginx. Completely
> > > uncached.
> > 
> > What are you using nginx for? Just url rewriting?
> Yes. No caching.
> > How can it be so fast? The pages are almost instant.
> Very small code. We do almost nothing to render those pages. All the
> code is very lightweight.
> We're running on two servers (actually we're not even using all CPUs by
> now) plus one ZEO server.
> An estimation is that we can handle about 250-300 requests/s uncached. I
> tested this with two different load testing tools (ab for some simple
> checks, siege for some session tests) and was able to produce this
> number.
> We do have some issues with write conflicts here and there, but I don't
> see any workarounds right now. :/

Actually it looks like I made a bad mistake while gathering those
numbers on thursday. I just analyzed the production system a bit more
and found it to actually have a very weak spot: Sessions.

We're using sessions to keep track of logins and I made a mistake that
would assign every request a session making the database server a very
bad bottleneck.

With the current amount of content and existing users I'm able to get
uncached 60 requests per second out of the frontpage. That was after I
removed the worst hotspot that assigned every request a session.
Nevertheless, there still are quite a few places that use sessions, and
those are currently limiting that total amount of what the setup is able
to do. If I'd replace that with a more lightweight system (e.g
memcached) I would expect this to go up again.


More information about the Grok-dev mailing list