PHP7达到高性能tips
2018-11-26 本文已影响12人
蚂蚁窝大梦想
PHP 首发通告,1995年6月8日。PHP 7 比5.x 快上很多,为了让让它发挥更大性能。Let's try it
1. PHP加速器开启
PHP加速器是为了提高PHP执行效率,从而缓存PHP的操作码,后续操作不再需要解析转换,可直接调用PHP操作码。
常见加速器:Opcache、APC、eAccelerator、XCache
详见LNMP执行流程
2. 使用新编译器
推荐GCC 4.8以上, 因为只有GCC 4.8以上PHP才会开启Global Register for opline and execute_data支持, 这个会带来5%左右的性能提升
3. HugePage
HugePage说明:PHP默认的内存是以4K分页,而虚拟机和内存地址需转换,该转换需查询表,CPU为加速查询都会内建TLB(Translation Lookaside Buffer)。虚拟页越小,表里条目越多,条目数越多TLB的Cache Miss也就会越高。但TLB大小是有限,启用大内存页就能间接降低这个TLB Cache Miss。
$ cat /proc/meminfo | grep Huge
AnonHugePages: 106496 kB
HugePages_Total: 512
HugePages_Free: 504
HugePages_Rsvd: 27
HugePages_Surp: 0
Hugepagesize: 2048 kB
4. Opcache file cache(实验性)
开启这个, 我们可以让Opcache把opcode缓存缓存到外部文件中, 对于一些脚本, 会有很明显的性能提升
#php.ini 开启
opcache.file_cache=/tmp
这样PHP就会在/tmp目录下Cache一些Opcode的二进制导出文件, 可以跨PHP生命周期存在。