How should I use EC2 to do performance tests

I have a distributed system written in C++. In order to test its scalability, I am looking for an AWS EC2 based solution, because it is easy to start hundreds or even thousands of instances in short time. And for most of the experiments, I only need run the benchmark with less than 1 hour.
However, what is an appropriate/economical way to prepare these thousands of instances? These project requires tons of dependancies, some of them can not find the .deb packages in Ubuntu (We use ubuntu-based AMIs). It is unreasonable to compile this project on each instance, I guess..However, what should I do to propagate its binaries and all required packages to all instances?
We would like to use Ubuntu and python-based solutions, if possible.

Comments

  • The simplest way to do this is to create an Amazon Machine Image (AMI) with an image of the server you want to run. Once you have this you can simply nominate the number of instances you would like to launch.
    The process is:
    From the console do Launch Instance of (say) an AMI with a bare Ubuntu 12.04 distribution. You will then have a basic server to start installing packages and your software.
    Once the server is in a state where you'd like to replicate thousands of instances, click on the running instance in the console and choose the Action Create Image (EBS AMI). This will create a custom AMI in the AMI section of the console.
    Now that you have an image you can do a Launch Instance of that AMI just like you did with the base image. When you launch it you simply specify the number of instances to launch.

Sign In or Register to comment.