2

I have tried using Apache Benchmark (ab) to test my server. I ran the same test twice -- once locally on my local Mac desktop and once on a Media Temple server I rent.

EDIT: To clarify, I am testing the same remote server, I am just running ab in different locations.

There is a drastic difference between the two results. Is the large difference due to bandwidth limitations of my ISP or other limitations of my Mac Desktop? Which result more accurately reflects the server's performance?

Media Temple Results

Concurrency Level:      50
Time taken for tests:   10.397 seconds
Complete requests:      7911
Failed requests:        0
Write errors:           0
Total transferred:      36355218 bytes
HTML transferred:       33767013 bytes
Requests per second:    791.07 [#/sec] (mean)
Time per request:       63.206 [ms] (mean)
Time per request:       1.264 [ms] (mean, across all concurrent requests)
Transfer rate:          3550.16 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       15   23 142.9     17    3019
Processing:    20   38  28.3     37    1093
Waiting:       20   36  23.8     36    1092
Total:         36   62 145.5     54    3063

Local Mac Desktop Results

Concurrency Level:      50
Time taken for tests:   10.159 seconds
Complete requests:      169
Failed requests:        0
Write errors:           0
Total transferred:      790168 bytes
HTML transferred:       733924 bytes
Requests per second:    16.64 [#/sec] (mean)
Time per request:       3005.589 [ms] (mean)
Time per request:       60.112 [ms] (mean, across all concurrent requests)
Transfer rate:          75.96 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       30 2438 3568.0    379    9217
Processing:     0   95 714.8      3    9291
Waiting:        0   41  68.1      2     191
Total:        137 2533 3579.5    441    9354
bperdue
  • 121
  • 4

2 Answers2

1

Benchmarking locally cannot give you any indication of how your site will perform on a remote host, unless you can manage to replicate the hardware, software running etc. on the remote host.

The difference in the results you have are normal, since you are benchmarking two totally different systems. I would recommend you consider the results of the remote benchmark, as this should reflect (and give you an idea) of how many connections your app can support.

Also, siege is a pretty awesome tool for this. Both ab and siege can easily be scripted for automation & post comparison of the benchmarking results, but siege allows for random pages to be requested instead of one specific URL, making for a more realistic benchmark.

Hope this helps, good-luck.

stefgosselin
  • 257
  • 1
  • 4
  • 14
  • Sorry, I meant I am benchmarking a remote server. I am just choosing to run the "ab" command either locally or on the server. I am seeing huge differences depending on where I run apache benchmark. – bperdue Feb 15 '12 at 21:59
0

I'm going to conclude that there are local restrictions on my Mac desktop in my apartment. These restrictions could be at the desktop, router or ISP level.

Regardless, my Mac desktop is not able to perform ab tests on a remote server (let's call it server IP 66.55.44.33) at the same level as another server (lets call this server 88.77.66.55) in a data center.

So, when I use my Mac desktop to ab test 66.55.44.33 the results show 16 req/s.

When I use 88.77.66.55 to ab test 66.55.44.33 the results show 800 req/s.

Please note that the server being tested (66.55.44.33) resides in a datacenter in Atlanta. My local desktop is in Raleigh, NC. The second server (88.77.66.55) resides in a datacenter in Phoenix.

bperdue
  • 121
  • 4