我目前正在为一个个人项目开发一个PHP MVC框架。当我开发这个框架时,我很有兴趣看到通过实现不同的优化技术来实现任何显着的性能。我实现了一个记录mircotime的原始BenchMark类。
问题是我没有执行时间的参照系。我非常接近这个项目的开始,有一个数据库连接和一些查询,但没有输出(酒吧一些调试文本和BenchMark日志)。我的当前执行时间是0.01917 seconds。
我预计这个数字会更低,但正如我之前所说的,我没有参考框架。我很欣赏在判断性能时有很多变量需要考虑,但我希望找到一些度量标准来
a)衡量性能的技术,例如每秒请求数和
b)比较结果,例如:在“标准”will服务器上的“中等”大小的PHP应用程序将如何执行。我认为“适度”和“标准”是非常主观的词,所以可能是一个特定应用程序的已知执行时间表(例如StackOverFlow的执行时间)。
除了执行时间之外,还有其他测量性能的技术吗?
在查看MVC Framework Performance Comparisom时,它讨论的是每秒请求数(RPS)。这是如何计算的?我猜以我目前的0.01917 seconds执行时间可以处理52RPS的(= 1 / 0.01917 )。这似乎比图中引用的要低得多,特别是当你考虑到我目前有限的功能时。
发布于 2010-04-18 09:01:28
要对某个页面进行基准测试,请使用ab。要对服务器上的页面负载进行基准测试,请尝试siege。
然而..。这两种测试基本上都是人工测试。我个人也添加了一些额外的日志。
发布于 2010-04-18 10:36:47
您可以使用xdebug来分析代码。但您在开发过程中过早地优化了方法。仅仅是调用microtime的行为就会减慢速度,因为它必须向系统发出调用(在PHP引擎之外)。相对而言,每次包含、对象创建、连接到另一个资源(即数据库)都会增加大量开销。
如果你的系统设计成对缓存非常友好,那么你就不必执行代码了。例如,WordPress非常慢。在一个像样的web服务器上大约15页/秒。它做了大量的包含并运行了大量的代码。但添加SuperCache插件后,性能将提高10倍。它的工作原理是创建一个缓存文件并使用一些Apache规则,这样就不需要运行PHP了。
https://stackoverflow.com/questions/2660672
复制相似问题