重庆小潘seo博客

当前位置:首页 > 重庆网站建设 >

重庆网站建设

深度探讨 PHP 之性能

时间:2016-08-19 14:10:44 作者:采集侠 来源:网络整理
9月,CNUTCon2016,一场容器盛宴,等你来约! 1.缘起 关于PHP,很多人的直观感觉是PHP是一种灵活的脚本语言,库类丰富,使用简单,安全,非常适合WEB开发,但性能低下。PHP的性能是否真的就 如同大家的感觉一样的差呢?本文就是围绕这么一个话题来进行探讨

2.6结论

关于PHP,很多人的直观感觉是PHP是一种灵活的脚本语言,库类丰富,使用简单,安全,非常适合WEB开发,但性能低下。PHP的性能是否真的就 如同大家的感觉一样的差呢?本文就是围绕这么一个话题来进行探讨的。从源码、应用场景、基准性能、对比分析等几个方面深入分析PHP之性能问题,并通过真 实的数据来说话。

总所周知,PHP是一种弱变量类型的语言,所以在PHP内部,所有的PHP变量都对应成一种类型Zval,其中具体定义如下:

PHP的运行阶段也分成三个阶段:

$objAction = new indexAction();  

图一PHP变量

 

采用bingo2的代码自动生成工具产生标准的测试PHP模块:test。

Parse。语法分析阶段。

这个时候就不得不谈PHP动态语言的特性所带来的性能问题了,由于PHP是动态运行时,所以所有的变量、函数、对象调用、作用域实现等等都是在执行 阶段中才确定的。这个从根本上决定了PHP性能中很难改变的一些东西:在C/C++等能够在静态编译阶段确定的变量、函数,在PHP中需要在动态运行中确 定,也就决定了PHP中间码不能直接运行而需要运行在Zend Engine上。

3.3裸PHP框架性能

Uname -a

$objAction->init();  

LOG初始化&Notice日志打印。所以的UI请求都一条标准的日志。

时间校正。

nginx version: nginx/0.8.54  built by gcc 3.4.5 20051201 (Red Hat 3.4.5-2)

通过压力工具测试结果如下:

该代码的执行结果就是在变量符号栈(是一个hashtable)中新增一个项

大话PHP之性能

Copyright (c) 1997-2008 The PHP Group

具体的基准性能有以下几个方面:

3.1环境说明

从上面的几个分析来看,PHP在内存管理、变量、函数、运行机制等几个方面都做了大量的工作,所以从原理来看,PHP不应该存在性能问题,性能至少也应该和Java比较接近

在内部展开后就会是一个函数

错误处理。

压力测试结果如下:

大话PHP之性能

Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies