让PHP7达到最高性能的几个Tips

转自鸟哥博客

1、Opcache

2、GCC 4.8+ 会开启Global Register for opline and execute_data支持, 这个会带来5%左右的性能提升(Wordpres的QPS角度衡量)

3、 HugePage,

简单的说下就是默认的内存是以4KB分页的,而虚拟地址和内存地址是需要转换的, 而这个转换是要查表的,CPU为了加速这个查表过程都会内建TLB(Translation Lookaside Buffer), 显而易见如果虚拟页越小,表里的条目数也就越多,而TLB大小是有限的,条目数越多TLB的Cache Miss也就会越高, 所以如果我们能启用大内存页就能间接降低这个TLB Cache Miss

4、Opcache file cache
开启Opcache File Cache(实验性), 通过开启这个, 我们可以让Opcache把opcode缓存缓存到外部文件中, 对于一些脚本, 会有很明显的性能提升.
在php.ini中加入:

opcache.file_cache=/tmp

这样PHP就会在/tmp目录下Cache一些Opcode的二进制导出文件, 可以跨PHP生命周期存在.

5、PGO
PGO 即 Profile-guided optimization(归档引导优化),是一种自适应优化手段,不需要对软件代码本身做出改进,即可获得性能的提升,目前已经应用于 GCC、VC++ 等常见的编译器中。一些开源项目像 Firefox 就默认使用 PGO 编译来优化性能,但是大部分软件上应用率并不高。

使用 GCC PGO 编译 PHP7.0 + opcache,在阿里云 1核心 1G 内存的配置上,Wordpress 4.6.0 性能提升约 5%,Drupal 8.1.8 上则提升约 2%。 当然了,服务器配置越高,自己身参数设置的好,性能提升就会越明显

Leave Comment

电子邮件地址不会被公开。 必填项已用*标注