PHP性能之语言性能优化

Posted 木木部落

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP性能之语言性能优化相关的知识,希望对你有一定的参考价值。

 

php语言性能优化优化啥?

  如下图所示,PHP直接执行的是opcode,所以我们尽量减少扫描和转码解析。

  

  这是我们第一个优化点,尽量使用PHP内置的函数代替我们的代码来实现同样的功能。

  和我们自己写的代码一样,PHP本身内置了很多函数,所以实现同一个功能我们可以使用多个内置函数来实现,那么是不是内置函数也会有性能区别呢?

  答案当时是肯定的,因为每个函数的运行量不同(类似我们的代码,实现一个功能,使用10行代码和使用100行代码会有一定的时间差),生成的opcode也不一样。这就是我们优化的第二个点,我们在使用内置函数的同时,需要选择正确的内置函数

  还有其他的优化点在后续的文章有说明,这里不多赘述了。

 

PHP内置的函数该怎么选择?

  PHP内置的函数有上千个,我们怎么选择那个是我们项目最需要的确实是比较麻烦的事情。平常一定需要熟悉常用的函数:处理字符串的,处理数组的,处理数据库的。(对于常用的函数,我后面会专门写相关的专题来对比)

 

怎么测试耗时?

  1、使用microtime()函数,该方法用在某段程序的耗时。下面是简单的获取时间的函数,需要在运行前断一下和运行结束断一下。

function current_time(){
    list($usecond,$second) = explode(" ", microtime());
    return ((float)$usecond+(float)$second);
}

  2、使用linux自带的time命令,该方法可以用在整个PHP文件的运行耗时。命令可以看到程序运行的系统时间,程序消耗时间(user)很真实时间。

  

  上图显示耗时12毫秒。

 

题外话:测试一下Apache和Nginx的性能

请求100次,每次并行100个请求。左边是Apache,右边是nginx

  Apache Nginx
每秒请求量 4.32 4415.99

每个请求耗时(ms) 

231.562 0.226 


 

  

  文章为作者学习所得,有纰漏,请留言指出,谢谢支持!转载请附上本文章的连接

以上是关于PHP性能之语言性能优化的主要内容,如果未能解决你的问题,请参考以下文章

LNMP 性能优化之 PHP 性能优化

PHP性能之语言性能优化:安装VLD扩展——检测性能

PHP性能之语言性能优化:安装VLD扩展——检测性能

PHP性能之语言性能优化:安装VLD扩展——检测性能

PHP性能之语言性能优化:魔术方法好不好?

PHP性能优化