php7性能优化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php7性能优化相关的知识,希望对你有一定的参考价值。

      之前一直使用的php版本都是6.5/6.6的,这次的项目开发要求使用PHP7,在网上大概看了下,发现PHP7的性能较之前相比提升了很多,所以使用PHP7我也没啥意见,欣然接受。

      今天温州一家客户做活动,导致用户量突然多了起来,原本服务器现在还处于内测阶段,服务器以及PHP环境并没有做相关的性能优化,并且服务器配置还比较低,导致php-fpm进程出现挂死状态,一度服务全挂。

       好,废话不多说,今天主要记录PHP7的相关优化,资料也是从网上查了许久,整理了下,准备晚上优化看看效果。

1、开启Zend Opcache

Zend Opcache支持php5.2.0+的版本,但是Zend Opcache到底是什么呢?官方介绍翻译是通过代码缓存和优化提供了更快的PHP执行。根据官方的介绍为:通过在share memory中存储已经编译好的代码来提升执行速度(PS:可以通过配置来决定他的存储时间),省去了从磁盘读取再编译的时间(PS:这其实是时间开销最大的部分),此外,还通过一些代码优化模式来提升执行速度(PS:官方并没有给出这个优化原理)。好以上是官方介绍,我尽量多读几遍,理解理解。

下面是启动方法,在php.ini文件加入:

zend_extension=opcache.so

opcache.enable=1

opcache.enable_cli=1


2、Hugepage  大页内存管理方式

关于Hugepage详细介绍可参考:http://blog.csdn.net/leshami/article/details/8777639

首先在系统中开启Hugepage,然后开启Opcache的huge_code_pages:

sysctl vm.nr_hugepages=512     ##分配512个预留的大页内存

cat /proc/meminfo | grep Huge

然后在php.ini中加入:

opcache.huge_code_pages=1


3、Opcache File Cache

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

opcache.file_cache=/tmp


4、PGO

这块不是很理解,后面再更新。。。

本文出自 “OpsWorld” 博客,请务必保留此出处http://cuimengah.blog.51cto.com/12607637/1980385

以上是关于php7性能优化的主要内容,如果未能解决你的问题,请参考以下文章

php7性能优化

PHP7革新与性能优化

干货laravel 5.1 性能优化对比 - 框架提供的方法

PHP之父:PHP7性能翻倍关键大揭秘

PHP7与Swoole,看完觉得PHP将会是最好的编程语言

魔众题库系统 v5.1.0 性能优化,访问更快速