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?
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.
Give a try to http://blitz.io/
This has API testing too.
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: http://jakarta.apache.org/jmeter/)
You could also use UnixBench to test the processing power of the server.
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: http://www.tpc.org/tpcc/spec/tpcc_current.pdf 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.