A Few Thoughts After a Major Ruby/Rails Deployment
Thursday, January 25th, 2007Programmers seem to be obsessed with programming language speed.
I’ve ranted before abaout Joel and his Wasabi project, for bashing Ruby.
Last night / this morning we were pushing out a major release of Mailroom.
Some of the maintenance scripts we had to run to catch up the database are/were taking an incredibly long time.
We were pushing two boxes to loads of 4.0 - 6.0. When we started MR’s receiver, we were seeing loads of 8-10. For the non-techies, that means that something like “800%” of the CPU was being used, or something like that. Basically, you don’t ever really want it that high.
But anyway.. the point is that a majority of the processing juice seemed to be going to the DB. I would guesstimate 80-90% of the cpu juice on that server was being used for the DB, not Ruby. That was really the limiting factor, it seemed, not Ruby code.
So why do coders get their panties all in a bunch about programming language speed, but not so much when it comes to database speed?
I guess because we really only have a few options in the Database game, so the DB wars are restricted to “MySQL vs PostgreSQL” or maybe throw Oracle in their if you can afford the $30k licenses.
Whereas programming language wars let you explain why you think VBScript, Wasabi, Lisp, Java, Smalltalk, Ruby, Python, Perl, PHP, etc. is better than X language.
That’s everyone’s favorite Slashdot (now Digg) thread right there.
Now, I know this totally depends on the application… but it’s true for ours. And I’ve seen it be true for many that I’ve worked on in the past:
If 90% of your application’s process is spent in the DB, how much does a 50% increase in speed in your programming language (or VM) get you, in terms of overall application performance? …
… 5%! Nothing to get too excited about, eh?














