1.开启Opcache
zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1
2.使用GCC 4.8以上进行编译
只有GCC 4.8以上PHP才会开启Global Register for opline and execute_data支持, 这个会带来5%左右的性能提升(Wordpres的QPS角度衡量)
3.开启HugePage (根据系统内存决定)
CentOS 6.5为例, 通过:
- $sudo sysctl vm.nr_hugepages=512
分配512个预留的大页内存:
- $ cat /proc/meminfo | grep Huge
- AnonHugePages: 106496 kB
- HugePages_Total: 512
- HugePages_Free: 504
- HugePages_Rsvd: 27
- HugePages_Surp: 0
- Hugepagesize: 2048 kB
然后在php.ini中加入:
- opcache.huge_code_pages=1
这样一来, PHP会把自身的text段, 以及内存分配中的huge都采用大内存页来保存, 减少TLB miss, 从而提高性能.
4.PGO (Profile Guided Optimization)
第一次编译成功后,用项目代码去训练PHP,会产生一些profile信息,最后根据这些信息第二次gcc编译PHP就可以得到量身定做的PHP7
需要选择在你要优化的场景中: 访问量最大的, 耗时最多的, 资源消耗最重的一个页面.
参考: http://www.laruence.com/2015/06/19/3063.html
参考: http://www.laruence.com/2015/12/04/3086.html
发表评论 取消回复