English 中文(简体)
基准测试PHP与Pylons
原标题:
  • 时间:2009-03-23 18:52:47
  •  标签:

我想进行PHP和Pylons的基准测试。我希望两者之间的比较尽可能公平,因此这是我想出的方案:

  • PHP 5.1.6 with APC, using a smarty template connecting to a MySQL database
  • Python 2.6.1, using Pylons with a mako template connecting the the same MySQL database

在那个设置中是否有任何需要更改的地方,以使比较更加公平?

我打算在一个几乎没有活动的备用服务器上运行它,它有2G内存和4个核心。

我应该或不应该如何对它们进行基准测试的任何建议?我打算使用ab进行实际的基准测试。

Related

最佳回答

If you re not using an ORM in PHP you should not use the SQLAlchemy ORM or SQL-Expression language either but use raw SQL commands. If you re using APC you should make sure that Python has write privileges to the folder your application is in, or that the .py files are precompiled.

此外,如果您正在使用Smarty缓存,请考虑启用Mako缓存以公平起见。

However there is a catch: the Python MySQL adapter is incredible bad. For the database connections you will probably notice either slow performance (if SQLAlchemy performs the unicode decoding for itself) or it leaks memory (if the MySQL adapter does that).

PHP没有Unicode支持,因此您不会遇到这两个问题。因此,为了保持公正,您需要在数据库连接中禁用Unicode(不过这是一个极为糟糕的想法)。

所以,似乎没有一种公平的比较PHP和Pylons的方式 :)

问题回答
  1. 你的PHP版本已经过时了,PHP已经在5.2.x的区域有一段时间了,虽然没有巨大的改进,但有足够的改变,我会说测试任何更旧的版本都是不公平的比较。

  2. PHP 5.3 快要完成了,你应该在基准测试中包含它,因为 PHP 5.x 有巨大的改进,而且它是 version 5.x 的最后一个版本。如果你真的想分毫不差,PHP 6 也在 alpha/beta 阶段,那么也是一个重大的改动。

  3. 比较完全不同的语言可能很有趣,但不要忘记你正在比较苹果和橙子,而任何 2/3/N 层应用程序的最大瓶颈是等待 I/O。所以最大的因素是你的数据库速度,纯粹比较 PHP vs Python VS ASP.Net 的速度是毫无意义的,因为它们三个都可以在不到 1 秒钟的时间内执行,但你可以轻松地等待 2-3 秒钟的数据库查询,这取决于你的硬件和你正在做什么。

  4. 如果你担心什么更快,那么选择平台的方法就是完全错误的。更重要的问题是(没有顺序):

    a. How easily can I find skilled devs in that platform

    那些有技能的开发者需要花费多少钱?

    c. How much ROI does the language offer

    这个语言的特性有多丰富?





相关问题
热门标签