文档章节

php7达到最高性能的几个Tips

爬墙
 爬墙
发布于 2016/11/20 10:44
字数 559
阅读 35
收藏 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就是为你的项目量身打造的最高性能的编译版本.

© 著作权归作者所有

共有 人打赏支持
爬墙
粉丝 11
博文 326
码字总数 68238
作品 0
美国
在Qcon 2015 北京上的演讲PPT – PHP7

06 May 15 在Qcon 2015 北京上的演讲PPT – PHP7 作者: Laruence( ) 本文地址: http://www.laruence.com/2015/05/06/3007.html 转载请注明出处 不少同学对于PHP7, 还是了解的不多, 这次在Qco...

Laruence
2017/10/21
0
0
深入理解PHP7内核之Reference

08 Apr 18 深入理解PHP7内核之Reference 作者: Laruence( ) 本文地址: http://www.laruence.com/2018/04/08/3179.html 转载请注明出处 问题 上一章说过引用(REFERENCE)在PHP5的时候是一个标志...

Laruence
06/26
0
0
PHP7优化提高性能的几个Tips

PHP7已经发布了, 作为PHP10年来最大的版本升级, 最大的性能升级, PHP7在多放的测试中都表现出很明显的性能提升, 然而, 为了让它能发挥出最大的性能, 我还是有几件事想提醒下. 1. Opcache 记得...

English0523
2015/12/29
0
0
探索PHP7(一)--性能

在2015年12月2号,鸟哥的在开源中国发布的新闻写在 PHP 7 发布之际一些话,小编意识到从8月份发布第一个公测版到现在经过了将近4个月的等待PHP7正式版本终于发布了,所以果断装上了一个玩玩,确实...

喵了_个咪
2015/12/06
373
2
PHP历史之3:秣兵历马的PHP7-王者归来

提起PHP7,就不得不提到源自FB的HHVM,据说安装了这种优化器,可以高效的PHP运行环境提升PHP性能9倍以上 当然PHP7已经超过了这种性能。 伴随着PHP 7的发布,这几天关于PHP 7性能和兼容性成了大...

ccpit2b2c
06/26
0
0
Laravel5 ,phpng(php7) vs php5.4 性能测试

本次测试目的是想看看php7能给laravel5带来多大提升,采用php内置server,测试基于welcome路由,增加了Eloquent模型查询语句,测试结果仅供参考。 测试环境: macbook pro i5+ssd+8g内存 硬件...

吾爱
2016/11/09
203
0
日请求亿级的QQ会员AMS平台PHP7升级实践

版权声明:本文由PHP7升级项目组原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/74 来源:腾云阁 https://www.qcloud.com/community QQ会员活动运营平台...

偶素浅小浅
2016/11/01
8
0
2018.06.10 周日--《PHP7--PHP的一次重大变革》

一、写在开头 PHP7是PHP编程语言全新的一个版本,主要在性能方面获得了极大的提升。官方的文档显示,PHP7可以达到PHP5.x版本两倍的性能。同时还对PHP的语法做了梳理,提供了很多其他语言流行...

微信公众号_程序员的文娱情怀
06/10
0
0
让你的 PHP 7 更快 (GCC PGO)

编者注:本文是 PHP 大神 —— 鸟哥 @Laruence 的作品,原文地址:http://www.laruence.com/2015/06/19/3063.html 我们一直致力于提升PHP7的性能, 上个月我们注意到GCC的PGO能在Wordpress上能...

oschina
2015/06/20
8.6K
40
PHP 7 来了,PHP 6 去哪儿了?

PHP7来了,那么PHP6去哪儿了呢? PHP7简介 PHP7是PHP编程语言全新的一个版本,主要在性能方面获得了极大的提升。官方的文档显示,PHP7可以达到PHP5.x版本两倍的性能。同时还对PHP的语法做了梳...

开源春哥
2015/12/03
18.9K
11

没有更多内容

加载失败,请刷新页面

加载更多

下一页

崛起于Springboot2.X之前端模版freemaker(23)

1、配置文件 spring: freemarker: allow-request-override: false cache: true check-template-location: true charset: UTF-8 content-type: text/html ......

木九天
14分钟前
1
0
spring-boot:run启动时,指定spring.profiles.active

Maven启动指定Profile通过-P,如mvn spring-boot:run -Ptest,但这是Maven的Profile。 如果要指定spring-boot的spring.profiles.active,则必须使用mvn spring-boot:run -Drun.profiles=test......

夜黑人模糊灬
16分钟前
0
0
大数据分析挖掘技术学习:Python文本分类

引言 文本分类作为自然语言处理任务之一,被广泛应用于解决各种商业领域的问题。文本分类的目的是将 文本/文档 自动地归类为一种或多种预定义的类别。常见的文本分类应用如下: • 理解社交媒...

加米谷大数据
20分钟前
0
0
istio-0.8 指标监控,prometheus,grafana

配置: https://istio.io/docs/tasks/telemetry/metrics-logs/ https://istio.io/docs/tasks/telemetry/tcp-metrics/ envoy拦截请求>上报mixer>对接prometheus>grafana 效果截图: promethe......

xiaomin0322
22分钟前
0
0
公众号推荐

阿里技术 书籍:《不止代码》

courtzjl
25分钟前
0
0
关于改进工作效率

1.给不同的业务线建立需求群,所有的数据需求都在群里面提。 2.对于特别难搞定的事情,到对应的技术哪去做,有问题随时沟通。 3.定期给工作总结形成方法论。 4.学习新的技术,尝试用新的方法...

Avner
32分钟前
0
0
关于thinkphp 框架开启路径重写,无法获取Authorization Header

今天遇到在thinkphp框架中获取不到header头里边的 Authorization ,后来在.htaccess里面加多一项解决,记录下: <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews Rewrite......

殘留回憶
36分钟前
0
0
centos 使用yum安装nginx后如何添加模块 10

centos 使用yum安装nginx后如何添加模块 10 centos6.2版本,使用yum来安装了nginx,但是最近需要重新添加模块,所以就傻了,询问下有人知道怎么重新添加模块吗? PS:俺是新手,需要高手救助...

linjin200
39分钟前
1
0
dubbo 资料

dubbo资料网站: https://www.cnblogs.com/a8457013/p/7818925.html

zaolonglei
39分钟前
0
0
大型网站,你是如何架构的?

大型网站,你是如何架构的?

微小宝
42分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部