2

I'm getting very confused how to read Apache Bench data.

Apache Benching my local machine gives me wildly different numbers between my dev linode and my production linode. My dev server is a 512mb linode freshly cloned from my 2gb linode, which means all but a few settings (static IP settings) are the same.

My dev server gets about 2x RPS benching from the same machine at 1/4 the ram. Because its set up for a 2gb server, it's even starting to swap (swap usage: 30mb or so) and getting better response times.

My production servers gets half that.


Screenshot of ab, iotop, and cpu info

http://i.stack.imgur.com/2mczZ.png (can't post images and can't post more than 1 link!)

The command I'm running is: ab -n 2000 -c 50 localhost:8080

Benching localhost should take the NETWORK out of the equation right?

From my desktop, both servers give me the same results because I can only download at 700Kb/s


How do I rule out differences in servers? The CPU is faster on the dev server?

Does it account for 2x rps? or are there settings that are adversely affected by more ram?

I can't tell if this is a real problem or if its just something like my production linode has higher load from the other VPSes / different hardware.

Thanks for your time!

Yuji Tomita
  • 453
  • 1
  • 3
  • 15

1 Answers1

4

Looking at the CPU benchmarks on PassMark your particular CPUs have a difference of 3.4x with your dev machine being the faster one in their benchmark rating. Since this is very close to the 3.3x time factor in your ab benchmarks it would be a good guess that the difference is simply due to the better CPU on the dev machine.

Note that modern CPUs cannot be judged by clock speed alone. For example, your cache on Dev is twice that on the production machine which is a significant factor alone. The fact that the difference in RAM between the machines doesn't seem to affect the performance may indicate that your test/application is more CPU limited than memory/IO limited.

uesp
  • 3,384
  • 1
  • 17
  • 16
  • thank you! You've just taught me a valuable lesson. I will know to use CPU benchmarks to get the real performance. It does appear my app is CPU limited! I will migrate to the dev server and add some ram. Hah! – Yuji Tomita Dec 09 '10 at 17:58