My setup:

  • one EC2 m1.large instance (4ECUs, 2 cores, 7.5GM RAM)
  • Rails
  • Ubuntu 11.04 Natty
  • nginx (v1.05) and Passenger (v3.011)
  • MySQL 5.1.57 running on an Amazon RDS instance

I expect my site to get lots of traffic in big bursts, and I want to maximize the chances that the server can handle it. In the past, I've been burned by things like the "Too many open files" error, etc.

Unfortunately, I'm a completely sysadmin noob, so I'm ignorant of the basic configuration options necessary to handle lots of traffic. Any advice would be helpful!


Can you talk more about your application. Like backend, what is the traffic you are expecting, etc.

On a general note, lots of things can be done. I'm giving a high-level idea of what can be done. This following list is by no-means exhaustive.

1) You need to have a fair idea on how your system responds to load. Using tools like Jmeter can reveal the response times under load.

2) You are already using EC2. It should help you to scale easily if get "big bursts". Using amazon autoscaling and a configuration management tool like Puppet/Chef can help you scale horizontally.

3) From 1), you can tweak certain kind of instance setups you would need in EC2 to achieve optimal performance.

4) Tweaking Open Files., Hardening the OS., etc is assumed to be taken care.

  • Awesome, I'll take a look at Jmeter. It would be great if you could elaborate on point #4. That basic configuration stuff seems really important, but I don't know any of it, and I can't seem to find a simple checklist anywhere. – NudeCanalTroll Mar 30 '12 at 3:40
  • As I said, a lot depends on the components your application uses. Tell about your application. What is the database backend, search server, etc ? – Shyam Sundar C S Mar 30 '12 at 11:15
  • Sorry, just updated my main question with all the details of my setup. – NudeCanalTroll Mar 31 '12 at 19:25
  • Fine., What is the expected traffic ? Have you found out how much load your current setup handles ? – Shyam Sundar C S Mar 31 '12 at 21:09
  • I'm expecting up to 10k unique visitors within the span of a few hours, so I'd like to be able to handle about 3k users who are simultaneously signed in and using the application. I'm more worried about having the correct config for Ubuntu + nginx than I am about the database or the application code itself. – NudeCanalTroll Apr 1 '12 at 0:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.