分析Web服务器的建议

时间:2010-02-05 02:58:55

标签: php webserver benchmarking measurement

我在 C 中开发了一个小巧的网络服务器,并希望评估其性能。为此,我正在做以下事情:

在以下场景中测量套接字建立时间,文件传输时间(对于随机大小的文件)和套接字拆除时间:

  • 单线程
  • 多线程

这应该给我吞吐量/带宽......我计划在一堆计算机上设置它并测量所有内容......对于客户端部分,我正在使用PHP并且正在使用简单的时序以下列方式运作:

<?php
$time_start = microtime_float();
// COMMAND TO PROFILE
$time_end = microtime_float();
$time = $time_end - $time_start;
echo "Task took $time seconds\n";
?>

我是否应该衡量哪些其他指标可以为我提供一些有价值的见解?

4 个答案:

答案 0 :(得分:3)

如果要分析PHP性能,可以使用Xdebug(以及其他许多内容)。但如果你担心网络服务器性能,它就是一个不同的故事。像Apache这样的网络服务器也有为它开发的分析工具,例如ab工具

答案 1 :(得分:2)

嗯,我不确定它是基准请求性能的最佳方法。看一下Apache发行版提供的ab,这是一个基本的工具,但你应该能够在同一台服务器上运行它,并获得更准确的请求时间基准。它还会为您提供一系列其他指标。

http://httpd.apache.org/docs/2.0/programs/ab.html

答案 2 :(得分:2)

尝试使用xDebug进行性能分析,然后下载并安装webgrind

您:

  1. 避免代码混乱和
  2. 获取更多信息,记忆,调用例程的次数,例程的成本以及调用它的位置。
  3. 我怀疑你可以轻松地使用PHP分析类来收集这些信息

    There are plently of tutorials to get you started.

    alt text http://jokke.dk/media/2008-webgrind/webgrind_large.png

答案 3 :(得分:1)

内存使用可能会很好。您可能希望查看调用某些函数的频率,以及查看要优化的内容。

此外,Facebook推出了一款名为XHProf的工具,可能值得一看:http://mirror.facebook.net/facebook/xhprof/doc.html。有关其用法的一些其他说明,请访问:http://techportal.inviqa.com/2009/12/01/profiling-with-xhprof/