php7达到最高性能的几个Tips
博客专区 > 爬墙 的博客 > 博客详情
php7达到最高性能的几个Tips
爬墙 发表于11个月前
php7达到最高性能的几个Tips
  • 发表于 11个月前
  • 阅读 23
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

#参考:http://www.laruence.com/2015/12/04/3086.html

  1. 开启opcache,默认php7没有开启,在编译安装php7的的时候加上 --enable-opcache,会在扩展文件夹内生成opcache.so,然后在ini的配置文件夹内加上opcache.ini,内容如下:
[opcache]
zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1

重启php-fpm后可以看到Zend OPcache设置

  1. 使用高版本编译安装php7,使用GCC 4.8以上, 因为只有GCC 4.8以上PHP才会开启Global Register for opline and execute_data支持, 这个会带来5%左右的性能提升,centos默认的gcc只有4.4左右,需要编译安装最新版本的gcc,gcc手工编译参考:https://teddysun.com/432.html
#如果是在 x86_64 系统下编译的话,还需要安装 libgcc.i686 glibc-devel.i686 才行
yum install -y gcc texinfo-tex flex zip libgcc.i686 glibc-devel.i686
#先到  http://mirrors.ustc.edu.cn/gnu/gcc/ 看最新版本是多少,然后下载
cd /usr/local/src
wget http://mirrors.ustc.edu.cn/gnu/gcc/gcc-4.9.4/gcc-4.9.4.tar.bz2
tar xf gcc-4.9.4.tar.bz2
cd gcc-4.9.4
./contrib/download_prerequisites
mkdir gcc-build-4.9.4
cd gcc-build-4.9.4
../configure --prefix=/usr
#为了避免安装后系统里出现多个版本的 GCC,这里直接将编译安装的目录指定为 /usr,如果不指定 –prefix,则会默认安装到 /usr/local 下
#整个编译过程需要很长时间,加入利用的cpu数量会加快很多
cpuNum=`grep processor /proc/cpuinfo | wc -l`
make -j $cpuNum && make install
#安装完后,查看版本
gcc -v

通过上述方式安装了gcc后,请慎用 yum update 和通过 yum 来升级 GCC

  1. 开启huge_code_pages
sysctl vm.nr_hugepages=512
#在opcache设置加入
 opcache.huge_code_pages=1
  1. 加入Opcache file cache
#在opcache设置加入
opcache.file_cache=/tmp
  1. PGO 也就是让php-cgi跑100遍wordpress的首页, 从而生成一些在这个过程中的profile信息. 如果你的PHP是专门为一个项目服务, 比如只是为你的Wordpress, 或者drupal, 或者其他什么, 那么你就可以尝试通过PGO, 来提升PHP, 专门为你的这个项目提高性能.
#首先在编译PHP之前时候首先执行:
make prof-gen
sapi/cgi/php-cgi -T 100 /data/wwwroot/wordpress/web/index.php >/dev/null
make prof-clean
make prof-use && make install

这个时候你编译得到的PHP7就是为你的项目量身打造的最高性能的编译版本.

标签: gcc CentOS php7 性能
共有 人打赏支持
粉丝 11
博文 159
码字总数 64363
×
爬墙
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: