您现在的位置:爱折腾>> Linux>>正文内容

Debian下安装Zend Opcache加速PHP

现在基于PHP的网站越来越多,也有很多成熟的cms程序方便使用。在网站的流量逐渐增大之后,服务器对CPU及内存的要求也就越来越高。一味的增加硬件成本是不可取的,采用合理的缓存策略是减少服务器访问压力的有效方法。tennfy将会在后面陆续介绍一些php及数据库的缓存方法。今天主要来介绍使用Zend Opcache加速PHP。

PHP缓存原理介绍

PHP是脚本语言,在解释器完成对脚本代码的分析后,会将它们生成可以直接运行的中间代码,也称为操作码(Operate Code,opcode)。Opcode cache的目地是避免重复编译,减少CPU和内存开销。如果动态内容的性能瓶颈不在于CPU和内存,而在于I/O操作,比如数据库查询带来的磁盘I/O开销,那么opcode cache的性能提升是非常有限的。但是既然opcode cache能带来CPU和内存开销的降低,这总归是好事。

现代操作码缓存器( APC、 eAccelerator、 XCache以及Zend Opcache)使用共享内存进行存储,并且可以直接从中执行文件,而不用在执行前“反序列化”代码。这将带来显着的性能加速,通常降低了整体服务器的内存消耗,而且很少有缺点。其中Zend Opcache插件作为zend公司官方推出的缓存插件,缓存效果更好,可以保证与最新PHP版本的兼容与更新。因此,tennfy推荐安装Zend Opcache进行php的缓存加速。

Zend Opcache已经集成在了PHP 5.5里面,但也支持低版本的 PHP 5.2.*, 5.3.*, 5.4.*,下面介绍Zend Opcache的安装方法。

Zend Opcache安装方法

安装方法如下:

  1. # Install "pecl" via php-pear  
  2. apt-get install -y php-pear  
  3.    
  4. # Install build dependencies  
  5. apt-get install -y build-essential php5-dev  
  6.    
  7. # Install Zend OpCache  
  8. pecl install zendopcache-7.0.5 

添加opcache.ini文件

  1. vi /etc/php5/mods-available/opcache.ini 

在opcache.ini中加入如下几行

  1. zend_extension=/usr/lib/php5/20100525+lfs/opcache.so  
  2. opcache.memory_consumption=128  
  3. opcache.interned_strings_buffer=8  
  4. opcache.max_accelerated_files=4000  
  5. opcache.revalidate_freq=60  
  6. opcache.fast_shutdown=1  
  7. opcache.enable_cli=1 

其中128的意思是给它分配128M内存。

最后将该文件链接至conf.d目录下

  1. ln -s /etc/php5/mods-available/opcache.ini /etc/php5/conf.d/20-opcache.ini 

修改完成后,重启nginx以及php。

查看Zend Opcache效果

输入php -v,得到如下信息

  1. PHP 5.4.45-1~dotdeb+7.1 (cli) (built: Sep  5 2015 00:21:03)  
  2. Copyright (c) 1997-2014 The PHP Group  
  3. Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies  
  4.     with Zend OPcache v7.0.5, Copyright (c) 1999-2015, by Zend Technologies 

相关文章