Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a rapidly growing (10Ms calls/day) web service currently on one EC2 app instance running ubuntu10.04+ apache + APC + memcache (+ several master/slaves mysql farms on other instances).

I consider to upgrade the app instance in one of the following ways:

1) Increase to larger instance type

2) Split to several app servers

I can assess pretty well my memory usage and cpu usage based on the current server graphs.

My fear is that if I go for the larger EC2 instance type the network i/o may become a bottleneck as traffic grows.

My questions: How can I estimate network i/o usage and constraints? How can I tell how much spare traffic I can handle until it becomes overloaded. (in terms of the network capacity not the server ram/cpu)

I used to have CentOS/plesk server on Mediatemple and there my bottleneck was kmemsize which is a limited amount of nonswappable memory which became full when the network traffic increased. Is there something similar to this on EC2 Instances with Ubuntu that can be monitored?

share|improve this question
Typically, larger instances offer more computer power for the price than multiple smaller instances (i.e. it is better to upgrade from an m1.small to an c1.medium than to run 2 m1.small instances). Additionally, the larger instances offer significantly more bandwidth (see the I/O performance value on the instance types page). As for bandwidth usage, you can check your CloudWatch statistics (every 5 min for the free version) which will provide a good idea of peak usage, or check your activity report for precise hourly usage (not as useful). – cyberx86 Oct 27 '11 at 20:23

I don't have a full answer for you, but I can build on what cyberx86 said. The smaller instances have less CPU and network capacity. Remember that if you're using EBS that your disk IO is dependent on your network IO. Amazon provides tools for monitoring your network usage. Tools like iotop should be able to help you get an idea of disk IO, which can also show your wait %. Unless I'm mistaken, wait % for EBS volumes should be network constrained.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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