Rails + Joyent Accelerator Benchmark

March 14, 2007

Well, this is fun. Here’s the configuration:

  • Joyent Accelerator 64-L — We stripped it down and built it back up with the bare minimum Blastwave packages we need to run our apps (surprisingly few).
  • Rails 1.2.2 Application — Moderate DB complexity, loaded with fixture data, and using acts_as_ferret extensively. No optimization at all (caching, query tweaking, etc.).
  • Mongrel 1.0.1 — Running in production mode as a cluster with 4 instances (I think the server has 4 processor cores).
  • nginx 0.5.14 — Built from scratch, and running the generic Rails/Mongrel configuration found on the wiki.
  • PostgreSQL 8.1.4 — Out of the box configuration from the Blastwave package (nothing special, no ANALYZE statements).

We’re seeing about 50 connections served per second, with 80% of pages delivered within 150ms, and zero dropped or failed connections. I’m pretty sure we can double that if we spent any time optimizing the application and server stack.

Not bad .. but the big fat caveat is that it’s 11:00 PM so our box obviously isn’t loaded very heavily. We can burst up to 95% CPU utilization on the machine, so of course these numbers don’t reflect reality of peak hours. That said, we’ve never seen load reported over 0.2, even during peak.

I’m happy!

Update:  I should note that the 50/sec rate is for a pretty dynamic application with some bells and whistles; connections for static content are in the hundreds per second, but not too applicable for our purposes.

3 Responses to “Rails + Joyent Accelerator Benchmark”

  1. Manu Says:

    Hi,

    My mongrel instances die when they are run in a cluster when I use acts_as_ferret. This is due to acts_as_ferret seg faulting. What is your set up ? Are you running a separate instance of acts_as_ferret to avoid the locking and seg faulting issues ?

  2. Peat Says:

    Hey Manu — I haven’t run into any seg faults yet, and we’re running acts_as_ferret without any special configuration.

    I’m wondering if it’s a compatibility with something else? We basically wiped our Accelerator clean and reinstalled or rebuilt all of the CSW packages we needed to run our app.

    Does your app seg fault immediately under load, or is it pretty random?

  3. Observer Says:

    Manu-

    What platform (linux) are you having trouble with Mongrel?


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: