php7如何达到最高性能?--性能优化

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

PHP7 VS PHP5.6

1. Opcache

记得启用Zend Opcache, 因为PHP7即使不启用Opcache速度也比PHP-5.6启用了Opcache快, 所以之前测试时期就发生了有人一直没有启用Opcache的事情. 启用Opcache非常简单, 在php.ini配置文件中加入

  1. 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角度衡量)

其实GCC 4.8以前的版本也支持, 但是我们发现它支持的有Bug, 所以必须是4.8以上的版本才会开启这个特性.

3. HugePage

我之前的文章也介绍过: 让你的PHP7更快之Hugepage , 首先在系统中开启HugePages, 然后开启Opcache的huge_code_pages.

以我的CentOS 6.5为例, 通过:

  1. $sudo sysctl vm.nr_hugepages=512

     

分配512个预留的大页内存:

  1. $ 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中加入:

  1.  opcache.huge_code_pages=1

     

这样一来, PHP会把自身的text段, 以及内存分配中的huge都采用大内存页来保存, 减少TLB miss, 从而提高性能.

4. Opcache file cache

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

  1. opcache.file_cache=/tmp

     

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

5. PGO

 如果你的PHP是专门为一个项目服务, 比如只是为你的Wordpress, 或者drupal, 或者其他什么, 那么你就可以尝试通过PGO, 来提升PHP, 专门为你的这个项目提高性能.

具体的, 以wordpress 4.1为优化场景.. 首先在编译PHP的时候首先:

  1. $ make prof-gen

     

然后用你的项目训练PHP, 比如对于Wordpress:

  1. $ sapi/cgi/php-cgi -T 100 /home/huixinchen/local/www/htdocs/wordpress/index.php >/dev/null
    
    也就是让php-cgi跑100遍wordpress的首页, 从而生成一些在这个过程中的profile信息.

最后:

  1. $ make prof-clean
    $ make prof-use && make install

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

 

 

参考原文连接:

https://www.cnblogs.com/zgblog/p/10341035.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vicworl (中国国家版权局软件著作权登记号:2008SR32124) 是梦之(Dreamsoft)软件有限公司经过近两年时间,不断开发和完善的高品质PHP MySQL 视频播客系统,具有运行效率高、功能完善、高安全性、压力承载能力强、用户接口丰富灵活等诸多优点。与以往视频系统最大的区别是Vicworl采用Flash Video技术进行视频媒体的传播,用户无需安装任何软件(如Real Player,Windows Media Player等)即可实现在线观看,有效的降低了用户使用的难易程度。Vicworl具有良好的用户使用友好性,用户能够在很短的时间内熟悉播客的各项功能使用,最大程度降低了用户使用播客的难度。Vicworl 在代码质量,运行效率,负载能力,安全等级,功能可操控性和权限严密性等方面都在广大用户中有良好的口碑。凭借 Vicworl 开发组长期积累的丰富的 web开发、服务端软件开发及数据库经验,和强于创新,追求完美的设计理念,使得 Vicworl 在很短时间内以其鲜明的个性特色从国内外同类产品中脱颖而出。经过了效率最优化和负载能力最佳化设计的 Vicworl ,已获得业内越来越多专家和权威企业的认可。 对于站长而言,利用 Vicworl 均能够在最短的时间内,花费最低的费用,采用最少的人力,架设一个性能优异、功能全面、安全稳定的视频播客平台。 对于网民而言,注册任何一个由 Vicworl 软件系统建立的网站/播客,将能方便、快捷地享受到播客带来的互动体验。   功能: 强大而完善的功能 Vicworl 基于PHP技术构建,编码服务采用C 设计开发。为您提供最高效率的软件,除了一般播客所具有的功能外,Vicworl 还提供了很大限度的个性化设定。用户个性模版添加制作。前台全部采用编译模板技术构建,更换界面易如反掌。完善的用户及影片管理,使管理员可控制到每个用户,每部影片。 卓越的访问速度和负载能力 Vicworl 从创立之初即以提高产品效率为突破口,随着编译模板,语法生成内核,数据缓存,多进程影片队列编码和自动更新机制等独创有技术的应用,和坚固的数据结构及最少化数据库查询设计,使得Vicworl可以在极为繁忙的服务器环境下快速稳定运行,切实节约企业成本,提升企业形象。 周密的安全部署和攻击防护 Vicworl 能有效处理页面格式,保证页面及表格的完整性。安全检查应用于每一个 Vicworl 代码中,防止恶意代码和跨站脚本攻击。 默认管理员账号:admin 密码:vicworl
128旅行网酒店预订联盟为站长免费提供一个可以学习既能赚钱的酒店分销预订平台。分销平台可以通过文字链接,搜索框,博客图片,甚至QQ签名,sina微博等多种多样展示工具,只要客人通过展示入住,您就能获取高达12%的房价佣金(平均每个订单约25元),为行业最高! 本程序拥有独立管理后台,可以自如的设定网站自定义模块,把网站做到独一无二,保证了SEO优化的质量。高度支持二次开发,网页响应速度快,有技术的站长完全可以自己打造一个属于自己的酒店预订频道。 程序支持在线更新。   本程序亮点:无需本地数据库(无需购买Mysql),省去购买数据库的资金。 安装说明: 一、服务器配置说明: 1. PHP版本不得低于5.1.4,建议使用 5.2.3或更高版本。 2. 空间要求务必开启:httpd_can_network_connect。 3. 空间大小推荐使用500m以上,以便后期扩展。 4. 推荐开启Rewrite服务。 二、目录及文件的权限控制: 1./application/config/settings.php --读写 2./application/modules/default/cache --读写执行 3./application/modules/default/templates_c --读写执行 4./application/modules/admin/templates_c --读写执行 5./.htaccess --读写 三、关于二级目录安装(如果是根目录的用户跳过该点): 找到application/config/settings.php这个文件,把webpath = "/" 改成webpath = "/二级目录文件夹名称/" 以下三个文件夹里面的缓存文件都清理掉 application/modules/default/templates_c/ application/modules/default/cache/ application/modules/admin/templates_c/ 伪静态生效:找到.htaccess文件(其他伪静态文件类似)把RewriteBase / 改成RewriteBase /二级目录文件夹名称/ 四、安装步骤: 进入http://www.****.com/index.php/install/,填写相关信息进行安装,该步完成后方可执行下一步。 进入http://www.****.com/index.php/admin/,修改相关用户信息,其中登录账号密码为联盟会员账号密码。 五、伪静态配置: 服务器支持Rewrite,根据以下不同的情况使用不同的伪静态配置文件。 环境与配置文件的对应关系:apache使用.htaccess, iis使用http.ini,nginx使用nginx.conf。 i.如果是apache,独立服务器用户请把.htaccess文件中的内容复制到http.conf中,如果是虚拟主机用户请将目录中的.htacess文件放到您所安装的根目录中。 ii.如果是iis独立主机用户请在安装好Rewrite模块后,将默认的http.ini中的内容替换掉,如果是虚拟主机用户请将目录中的.htacess文件放到您所安装的根目录中。 iii.如果是nginx独立主机用户请将nginx.conf中的内容复制到您的站点配置中。   程序说明: 1.从底层开始完全的重新设计、构建。并采用国外最先进的ZEND框架,具备极强的扩展性,便于后续各类优秀功能的加入,打造个性化在线酒店预订网站。 2.采用了新版API接口,为后续提供更有竞争力的酒店数据及价格打下良好基础,让网站更具价值。 3.酒店数据无需本地数据库,最大限度减少对站长服务器的压力,提高性能、减少成本。同时也让广大站长无需花费大量精力在网站维护上面,只需全心做好推广工作而创造更好的业绩。 4.优化程序安装流程,提高网站后台的易用性以提高站长的管理效率(后台功能目前只开放部分重要设置菜单,其余菜单很快会开放出来)。   温馨提示: 1. 为了保证核心重点功能的优先完善和体验改良,以及便于问题、建议的收集,我们公测版网站程序采用逐步开放功能的方式发布。此公测版不包含仍在调整中的功能,但我们很快就会陆续发布各种功能的增量补丁,敬请期待。 2. 首次运行时页面载入比较慢属正常现象,待缓存生成后自然就会加快载入速度。 3. 更改后台相关信息后,要手动清除缓存信息,否则可能造成页面显示没更新的情况;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值