The Workings r2
I spent a some time this evening figuring out where our "Internal Server Errors" are coming from. It does look like pound is the problem. Accessing pound directly on it's listener port yields those same errors, while accessing the mongrels directly on their listener ports works flawlessly. Actually, it looks like the MySQL database ends up disk bound for many operations, perhaps not enough real RAM to go around.
We're now running on a proxy & loadbalancer which comes from our friends in Russia: nginx (I believe it's pronounced en jen 'ecks). It seems to be running ahead of pound; definitely snappier. The real bonus, is that nginx serves Rails' cached files directly with sendfile. Now this site is smokin'!
So, now our config is...
austinruby.com =
apache (port 80) <-> nginx (load balancer) <-> mongrels (Rails servers)
...that is, when it works. It seems that we still have errors popping up; connections to the mongrels timeout. But the mongrels are there, listening and ready. mysqld is using 485MB virtual memory.
Sunday Night Update
It looks like our little Austin Ruby site may finally be snappy & stable!
The deeds which have been done to make it so:
- install the mysql gem for native database bindings (thanks Tony for the involution Rails wiki!);
sudo gem install mysql -- --with-mysql-include=/usr/include/mysql --with-mysql-lib=/usr/lib/mysql --with-mysql-config - improve availability of server resources (thank Wayne!)
About this Post
- Author:
- Mars
- Published:
- 2006-10-07 19:59
- Updated:
- 2006-10-10 20:04
- Sections:
- meta-talk
0 Comments
to the comment form | comments RSS