Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

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've got a site with a LAMP stack and I'm looking at moving to a new hosting provider (currently on a dedicated server and looking to move to a cloud provider). What is the best/most reliable way to compare performance of my site on the different providers? Obviously I would spin up an instance and transfer of a copy of my site, but are there any tools or specific things I should be looking at to compare performance?

share|improve this question
possible duplicate of How to stress test an apache server running on a linux box – Shane Madden Sep 23 '11 at 21:52
First you need to define "performance". – John Gardeniers Sep 24 '11 at 1:16
up vote 5 down vote accepted

Anything other than a real workload will not tell you if the new system is faster. It could have slower CPU, less memory, slower disk but still give faster throughput simply because it's closer to your userbase.

fio is handy for comparing disk I/O.

ab is better than nothing - bt for more realistic testing then have a look at www::mecanize/http::recorder.

share|improve this answer
Rerunning production logs against a test environment with identical data is the best way. Upvoted for truth. – polynomial Sep 24 '11 at 1:44

Give a try to

This has API testing too.

share|improve this answer

You may find a tool such as JMeter useful in testing your servers under different load levels to compare between the possible new solutions you are looking to move to. (See link for more info on JMeter:

share|improve this answer

You could also use UnixBench to test the processing power of the server.

share|improve this answer

Simple, you need a benchmark. In this case you need a benchmark of your app. To do this you will need to build a profile of the load on the system, document the business processes and the data involved & define the baseline configuration of the environment before execution of the benchmark. You will also need to define specific objective points of measurement to allow you to compare the results from one instance of the application to another.

Next, you will need a tool that can exercise the load matched to your load profile. Depending upon your interface and technologies involved you may have access to both open source and commercial tools to generate your load. You will want to be certain that whatever tool you select can report effectively on your points of measurement otherwise you can burn hideous cycles in the analysis stage.

If you need a model to draw from there are few examples better than this one: While the benchmark is database specific it does provide an effective model of the level of effort you will need in order to build an effective benchmark.

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.