Category Archives: Performance Project

I’m setting up a basic Ruby on Rails website and then turning it and it’s underlying infrastructure to squeeze out as much performance as possible. Initially this will be one Ubuntu 8 server hosted with SliceHost. Then I’ll pretend it’s popular and needs increased capacity, so it’ll be expanded over several servers with a scalable design.

Using Nginx to send files with x-accel-redirect

So far I’ve configured Nginx to handle file uploads by caching the file to disk and telling rails where it is, rather than passing it through in the request, not fun with large files.  Now to do the reverse.  Instead of Rails sending files to users thru Nginx, Rails can tell Nginx what file to [...]

Also posted in Nginx File Transfers | Tagged , , , , , | 2 Comments

Amazon Elastic Block Store (EBS)

Amazon’s persistent storage beta program for Elastic Cloud Computing (EC2) has been unleashed on the general public.  I’ve been hanging out to play with this for a while and will duplicate any tests I perform on Slicehost servers with comparable EC2 servers with EBS.  Since I’m also essentially comparing two different providers, I’ll look at [...]

Posted in Performance Project | Tagged , , , , , , | 1 Comment

Finishing off my base Ruby on Rails install

So I got sidetracked with Apache in my last post.  Here I’m going to finish up the install basics sans automated deployment.  At the moment I’m just jumping onto the server and going:

git pull
mongrel_rails cluster::restart

All my server is showing at the moment is this.  It’s amazing I know and people will talk about it for [...]

Posted in Performance Project | Tagged , , , , , | 3 Comments

Configuring and watching Apache.

You may have noted that I installed the apache2-mpm-worker package rather than apache2-mpm-prefork even though I’m using a VPS to host the site.  If you google them you’ll find recommendations to only use worker on big beefed-up servers.  The reason for my decision is described in the first paragraph on worker’s webpage:
By using threads to [...]

Posted in Performance Project | Tagged , , , , , , , , , | 2 Comments

RubyGems needs 512 to upgrade itself.

After watching a rather sloppy rugby game in which the All Blacks couldn’t hold onto a ball to save themselves I jumped back online to find my gem updating process was still using lots of memory and no cpu.  After being amused by the comparison to the rugby game I killed it and got slicehost [...]

Posted in Performance Project | Tagged , , , | Leave a comment
  •  

  • About Nahum Wild

    I'm a High Performance Website Consultant specialising in Ruby on Rails deployments. In this blog I cover common problems I've seen and provide insight on optimisation techniques.

  • Recommend Me

    Follow me on Twitter