views:

59

answers:

3

As testing server, my computer (Windows 7, Amd Athlon X2, 1 GB RAM) is used.

My application is based on Zend Framework. It uses MySQL and Zend_Translation, and Memcached as cache.

I'm getting execution time of my PHP application with simple microtime(): Execution time 0.086215972900391 (when db and translation data is cached)

I want to know if my results are bad, very bad or maybe normal. How to know it? What can I run on my computer to compare with? Or maybe there're another ways? Or maybe I shouldn't bother until I run it on more 'real' server?

+1  A: 

This is a fundamental question because...

  • All benchmarks are different.
  • All applications are different.

Personally, I think your measured "execution time" is more than alright. :) You could however do slightly more comprehensive testing using Apache Bench (ab) or jmeter. So the idea with ab and jmeter are to do load tests, this is to determine how your application performs when multiple clients (users) use it.

Also, for a great benchmark, it helps to provide as many details as possible. That would include your hardware setup (CPU, RAM, HDD, etc.) but your application as well. Otherwise it's hard to judge how efficient this is.

Anyway, the bottom line, 0.08 sounds good to me! :-)

Till
A: 

How good the results are depend on what you're trying to achieve. Do the math to determine how many users you can handle on a single server, and compare that to how many users you plan to/hope to achieve for your website.

Taking it a step further in a business standpoint, use those numbers to calculate your expected server costs vs. what you expect to make in revenue (based upon avg. earnings per user).

Matt Huggins
A: 

Try using httperf to work out how many simultaneous hits your set up can handle.

Also, there's a nice screencast from Peepcode explaining benchmarking with Httperf in detail.

Adam Taylor