`
varsoft
  • 浏览: 2508804 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

[原创]PHP4和PHP5性能测试和对比

阅读更多



PHP4和PHP5性能测试和对比

作者:heiyeluren
博客:
http://blog.csdn.net/heiyeshuwu
时间:2007年8月6日


PHP 4到今年年底PHP Group将不再对其进行支持了,所以为了让大家更有信心的转移到PHP 5平台上,我特别做了这个测试,看看我们PHP 4.x 是否真的性能比我们的PHP 5.x要好捏,测试结果很明显,那就是PHP 5.x 比php 4.x不论是面向对象还是面向过程,都要比PHP 4.x 要快,所以大家完全有必要转移到PHP 5.x 平台上,去体验PHP 5.x 平台的各种功能和性能。

因为PHP 5 包括新的对象模型,更多新特点,更快的处理速度,特别是处理面向对象代码的速度,虽然在php 4中面向对象代码的速度比较一般,但是在PHP5.x中面向对象代码的速度都超过了面向过程的速度,所以不要对面向对象的性能持有怀疑,下面的测试结果将说明这一切。

【测试环境】

  • CPU: Intel Pentium4 2.66GHz
  • Memory: 1GB
  • Disk: 73GB/SCSI
  • OS: FreeBSD 4.11
  • Web: Apache 1.3.37
    测试工具:ab (也可以选用http_load)
    名词RPS: Requests per second (每秒的请求数量)

相关
测试工具:ab (也可以选用http_load)
名词RPS: Requests per second (每秒的请求数量)



【PHP 4.4.2 测试结果】

[ 函数 Function ]

<?php
function signin(){
echo "test";
}
signin();
?>
测试结果:ab -n 10000 -c 50 的结果是1047.23/rps


[ 类 Class ]

不实例化类
<?php
class User{
function signin(){
echo "test";
}
}
User::signin();
?>
测试结果:ab -n 10000 -c 50 的结果是 1034.98/rps


实例化类
<?php
class User{
function signin(){
echo "test";
}
}
$user=new User();
$user->signin();
?>
测试结果:ab -n 10000 -c 50 的结果是 1006.14/rps


类的继承
<?php
class AUser{
function signin(){}
}
class User extends Auser{
function signin(){
echo "test";
}
}
$user=new User();
$user->signin();
?>
测试结果:ab -n 10000 -c 50 的结果是 992.95/rps

【PHP 5.2.1测试结果】

[ 函数 Function ]

<?php
function signin(){
echo "test";
}
signin();
?>
测试结果:ab -n 10000 -c 50 的结果是 1176.06/rps


[ 类 Class ]

不实例化类
<?php
class User{
public function signin(){
echo "test";
}
}
User::signin();
?>
测试结果:ab -n 10000 -c 50 的结果是 1197.17/rps

实例化类
<?php
class User{
public function signin(){
echo "test";
}
}
$user=new User();
$user->signin();
?>
测试结果:ab -n 10000 -c 50 的结果是 1187.93/rps


类的继承和抽象
<?php
abstract class AUser{
abstract function signin();
}
class User extends Auser{
public function signin(){
echo "test";
}
}
$user=new User();
$user->signin();
?>
测试结果:ab -n 10000 -c 50 的结果是 1128.54/rps

【测试结果和分析】

[ 测试结果数据 ]

版本 函数测试 不实例化类 实例化类 类的继承
PHP 4.4.2 1047.23/rps 1034.98/rps 1006.14/rps 992.95/rps
PHP 5.2.1 1176.06/rps 1197.17/rps 1187.93/rps 1128.54/rps


[ 结果分析 ]

1. 总体来说,可以明显刚看到PHP5.2 的性能要比 PHP4.4略高一点,所以不要怀疑PHP5.2的性能会差,明显比 PHP4要快
2. PHP4.4中的类的解析性能明显要比函数的要慢,特别是当使用了继承以后,更是下降的厉害,所以在PHP4.4中更适宜使用面向过程和没有继承的类操作
3. PHP5.2中结果是类的执行速度比函数还要快,可以看出PHP5.2的引擎对面向对象处理花费了很大的功夫,同时他们不论是函数还是类,性能都不错
4. 通过这个测试,我们完全有理由在代码变更不大的情况下,把PHP4升级到PHP5,而且PHP5基本向下兼容PHP4的代码,除了一些特殊的代码。另外上面提到今年年底之后PHP Group将不再继续对PHP4进行维护了,所以早升级,早安心。

PS: 感谢同事健祥同学提供部分测试代码

分享到:
评论

相关推荐

    升级PHP5的理由:PHP4和PHP5性能大对比

    ### 升级PHP5的理由:PHP4和PHP5性能大对比 #### 引言 随着技术的不断进步和发展,PHP语言也在不断地更新迭代。本文旨在通过对比PHP4与PHP5的性能表现,来探讨是否应该从PHP4升级到PHP5,并提供实际的测试数据作为...

    mod_php和mod_fastcgi和php-fpm的介绍,对比,和性能数据

    #### 三、性能测试 **测试内容**: - 测试环境:相同的硬件配置、相同版本的Apache和PHP。 - 测试方法:使用ab(Apache Benchmark)工具进行压力测试。 - 测试指标:响应时间、每秒请求数(Requests Per Second, ...

    PHP4和PHP5性能测试和对比 测试代码与环境

    测试结果很明显,那就是PHP 5.x 比php 4.x不论是面向对象还是面向过程,都要比PHP 4.x 要快,所以大家完全有必要转移到PHP 5.x 平台上,去体验PHP 5.x 平台的各种功能和性能。 因为PHP 5 包括新的对象模型,更多新...

    PHP的性能测试全过程分享.doc

    在探讨PHP性能测试的全过程中,我们首先需要澄清一个普遍的误解:PHP是否真的性能低下。这篇文章正是为了挑战这一观点,通过深入分析PHP的源码、应用场景、基准性能以及与其他语言的对比,来揭示PHP的真实性能表现。...

    PHP on Windows 性能测试报告

    ### PHP on Windows 性能测试报告关键知识点 #### 一、测试目的与背景 - **测试目的**:评估和比较Discuz! 论坛程序在Windows Server 2008和CentOS 5.2两个不同平台上的性能表现。旨在为用户提供关于Discuz! 在不同...

    windows xhprof php性能测试工具全套

    总的来说,Windows环境下使用XHProf进行PHP性能测试需要综合运用多种工具和技巧。正确配置和使用XHProf,结合XHGUI的可视化能力,以及适当的代码管理和测试策略,可以帮助开发者有效地提升PHP应用的性能。在实际操作...

    php服务器测试工具

    在IT行业中,PHP服务器性能测试是一项至关重要的任务,它关系到网站或应用程序的稳定性和效率。PHP是一种广泛使用的服务器端脚本语言,尤其在Web开发领域。本篇将围绕"php服务器测试工具"这一主题,深入探讨如何在...

    java php python erlang 千万级内存数据性能比较

    在提供的文件"erlang_list_dict_test.erl"和"erlang_list_dict_test - pro_dict-check_duplicate.erl"中,可以看到Erlang对列表和字典(dict)操作的性能测试。Erlang的字典数据结构通常比其他语言的哈希表更快,...

    SEO伪原创2万永词库 PHP带测试文件!

    "的资源中,我们可以看到两个关键点:伪原创和PHP测试文件。 1. **伪原创**: - 伪原创主要是为了规避搜索引擎对重复内容的惩罚,通过改变原文的部分词汇、句子结构或段落顺序,使得内容看似新颖但又保持原有信息...

    (完整版)[好文]mod-php和mod-fastcgi和php-fpm的介绍-对比-和性能数据.doc

    性能测试 为了评估 mod_php、mod_fastcgi 和 PHP-FPM 的性能,通常会进行一系列的基准测试,包括响应时间、吞吐量等指标。测试内容可能包括不同的并发用户数、请求类型、服务器配置等。测试结果显示,通常情况下,...

    PHP API接口测试小工具

    3. **性能测试**:除了功能测试,还需要关注接口的性能,比如响应时间、并发处理能力等。 4. **安全性检查**:验证API的安全性,如防止SQL注入、XSS攻击等。 5. **持续集成**:将API测试纳入持续集成流程,确保...

    高性能PHP应用开发

    定期进行性能测试,使用基准测试工具(如AB或Siege)评估改进措施的效果。 综上所述,高性能PHP应用开发涉及到多个层面:配置优化、数据库管理、代码质量、错误处理、并发处理、缓存策略以及性能监控。通过深入理解...

    Web模型与性能测试的研究分析

    文章通过分析Web模型、服务器系统、性能分析以及性能测试工具,全面介绍了Web应用性能测试的重要性,并提供了相关的技术细节和实施建议。在实际操作中,开发者需要根据具体的Web应用特点选择合适的模型和工具,以...

    php软件 测试 测试 测试

    4. **性能测试**:评估PHP应用在高负载下的表现。工具如Apache JMeter或PHPBench可以帮助测量响应时间、并发用户处理能力等。 5. **安全测试**:检查代码是否存在安全漏洞,如SQL注入、跨站脚本(XSS)攻击等。PHP...

    简单的PHP测试网页

    本主题将深入探讨一个简单的PHP测试网页,它包含了一系列功能展示,帮助开发者理解和学习PHP的基本用法。 1. **Hello World页面**:这是每个编程语言初学者的入门示例,PHP也不例外。"Hello World"页面通常包含一行...

    PHP 测试环境-最好用的本地PHP测试环境

    - **性能优化**:在本地环境中测试代码性能,找出瓶颈并优化。 总之,PHP本地测试环境是PHP开发过程中的关键组成部分,它提供了安全、便捷的开发和测试条件。phpStudy这样的工具极大简化了搭建和管理这个环境的过程...

    性能测试方案模版.doc

    通过对这些模块进行性能测试,可以确保系统在承受预期负载时仍能保持稳定和高效运行。 #### 二、测试目标 本节详细列出了性能测试的具体目标,即通过测试来验证系统在不同模块下的性能指标是否符合预期。例如,...

    水泵性能 测试 vb 源码

    水泵性能测试 VB 源码是一个使用Visual Basic 6.0(VB6.0)编写的程序,专门用于分析和评估水泵的工作性能。这个程序利用了编程技术来处理实验数据,通过对数据进行数学处理,如最小二乘法和三次拟合,来生成精确的...

Global site tag (gtag.js) - Google Analytics