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 |
文章为作者学习所得,有纰漏,请留言指出,谢谢支持!转载请附上本文章的连接。