我想对PHP与Pylons进行基准比较。我希望两者的比较尽可能均匀,所以这就是我想出的:
我是否应该在该设置中更改任何内容以使其更公平地进行比较?
我将在几乎没有活动的备用服务器上运行它,2G内存和4个内核。
有关我应该或不应该如何对它们进行基准测试的任何建议?我打算用ab来做实际的基准测试。
答案 0 :(得分:3)
如果您没有在PHP中使用ORM,则不应使用SQLAlchemy ORM或SQL-Expression语言,而应使用原始SQL命令。如果你正在使用APC,你应该确保Python对你的应用程序所在的文件夹有写权限,或者.py文件是预编译的。
此外,如果您正在使用智能缓存,请考虑启用Mako缓存以保持公平。
然而有一个问题:Python MySQL适配器令人难以置信。对于数据库连接,您可能会注意到性能较慢(如果SQLAlchemy为自己执行unicode解码)或者它泄漏内存(如果MySQL适配器那样做)。
PHP没有这两个问题,因为没有unicode支持。因此,为了实现完全公平,您必须在数据库连接中禁用unicode(但这是一个令人难以置信的坏主意)。
所以:似乎没有一种比较PHP和Pylons的公平方法:)
答案 1 :(得分:2)
你的PHP版本已经过时了,PHP已经在5.2.x领域已经有一段时间了,虽然没有大规模的改进,但我会说有足够的变化来测试任何旧版本是不公平的比较。
PHP 5.3即将成为最终版本,你应该在你的基准测试中加入它,因为PHP 5.x有很大的改进,并且是5.x的最后一个版本,如果你真的想要分裂头发PHP 6也处于alpha / beta状态,这也是一次重大修改。
比较完全不同的语言可能很有趣,但不要忘记你正在将苹果与橙子进行比较,而且任何2/3 / N-Tier应用程序中最大的瓶颈都在等待I / O.所以最大的因素是你的数据库速度,比较PHP和Python VS.Net纯粹基于速度是没有意义的,因为它们中的所有3个都将在不到1秒的时间内执行,但你可以轻松地等待2-3秒数据库查询,具体取决于在你的硬件和你正在做的事情上。
如果您担心什么是更快,那么您采用绝对错误的方法来选择平台。还有更重要的问题,例如(不按顺序):
一个。我可以轻松找到该平台上熟练的开发人员
湾这些熟练的开发者花了多少钱
℃。该语言提供多少投资回报率
d。功能丰富的语言