好了,让我们再来看看
PHP 在 Linux 和 Apache 中的表现--1000×1000 勉强通过,但是
花费了竟然有
5 秒左右之巨;随后的 10000×10000 次测试真是一场灾难,我在页面中设置
了
PHP 的执行时限为不限,但是结果是对于我来说这段代码真正的是不限时间的在孜孜不
倦的运行,始终没有返回。
OK,STOP IT!所以这一项测试没有结果。
在
Windows 平台的表现一样,不过看来速度都慢了一些,这个结果让我心理很安慰。
下面一项是连接和操作数据库的测试,我选择了
MySQL。从上面的测试环境中可以看
出在
Linux 机器上另有 Oracle 在运行着,但是有两个原因让我并没有使用 Oracle 参与测试,
一是考虑到
MySQL 在 Linux 平台上已经得到了广泛的应用;二是 Oracle 在我周围的客户中
使用并不多见。选择的数据库操作是
SELECT,而且看来不能像普通的算术运算那样动辄就
是
1000×1000,我首先选择了 10×10 的二重循环。很明显,JSP 在进行数据库操作时要比普
通运算时慢了许多,让我等待了
260 毫秒左右;而当我鼓起勇气对 JSP 进行 100×100 测试
之后,我才发现自己又陷于一场漫长的等待
--最终 29 秒左右完成了这一操作。
对于
PHP,我没有抱很大希望,先前的测试已经说明了 PHP 的普通运算能力确实有所
欠缺。但是
LAMP 的组合又让我看到了速度的影子--实际的测试结果让我吃惊不小,10×10
的测试
PHP 几乎在瞬间完成(85 毫秒左右),而 100×100 的测试也仅仅花费了 8.33 秒左右。
以下是测试的条件和数据表,这里
(speed_test.zip)可以下载测试用例:
结论
以上的测试只是我突发感慨而来的产物,那时我正在考虑一个简单的基于
Web 的
商店是否值得完全使用
JSP 来实施--虽然我一直非常中意 MVC 模式并且在 PHP 中也引入了
这样的概念,但是对于
Web 项目的"超快速开发"来说采用完全 JSP 倒也不失为达到目标并
且可以有效保证项目的开发速度和运行速度的一种方式。于是我就想到了应该测试一下
JSP
和
PHP 的差距。不过结果并不能让我满意--在数据库的连接方面,借助 JDBC 可以达到数据
库层的透明,但是速度上似乎有了许多的折扣;至于那种
1000×1000 的计算,如果有这样
的网上商店会经常使用的话,我非常乐意认识一下这个项目的负责人并且好好学习一次。
因此,这次测试也许会让一些
JSP 的支持者失望,PHP 从速度角度来说,我认为
完全可以接受其应用在各种
Web 项目中。当然,对于电子商务以及其他关键应用采用何种
技术的话题,已经超过了本文的范畴,我在这里只想多阐述一些我的观点:毫无疑问
Java
技术已经成为了以上这些关键应用的事实技术标准,因为她的丰富内涵和相对简单的开发
以及产品的强壮性都非常容易被我们所接受;而显然将
PHP 和 Java 技术在 Web 上的应用
相比是毫无道理的、结果也是非常明显的,同样将
PHP 和 JSP 相比也只是不合适的--JSP 在
整个
Java 战略中只是算不上核心的一块,而 PHP 哪--只有 PHP,完全 PHP。不过作为
LAMP 的一分子,越来越受到重视的 PHP 在中小型项目以及非关键应用中的能力不容怀疑。