I developed a small nifty webserver in C and would like to evaluate its performance. For this I'm doing the following:
Measuring the socket establishment time, file transfer time (for files of random sizes) and socket teardown time in the following scenarios:
And this should give me the throughput/bandwidth... I was planning on setting this up on a bunch of computers and measuring everything... For the client part, I'm using PHP and am making use of simple timing functions in the following manner:
<?php
$time_start = microtime_float();
// COMMAND TO PROFILE
$time_end = microtime_float();
$time = $time_end - $time_start;
echo "Task took $time seconds\n";
?>
Are there any other metrics that I should measure that would give me some valuable insights?
Hmm, I'm not sure it's the best approach to benchmark request performance. Take a look at ab which is provided by the Apache distribution, it's a rudimentary tool, but you should be able to run it on the same server and get a more accurate benchmark for request time. It'll also give you a bunch of other metrics.