lmwtzw6u5l0 发表于 2018-12-22 14:50:07

PHP 加速插件 Zend Opcache

  大家知道目前PHP的缓存插件一般有三个:APC、eAccelerator、XCache,但未来它们可能都会消失,因为PHP 5.5已经集成Zend Opcache,功能和前三者相似但又有少许不同,缓存速度据说比它们更快(注意:只是据说,我没测试过)。
  这几个PHP加速插件的主要原理都相同,就是把PHP执行后的数据缓冲到内存中从而避免重复的编译过程,能够直接使用缓冲区已编译的代码从而提高速度,降低服务器负载,它们的效率是显而易见的,像drupal这种庞大的CMS,每次打开一个页面要调用数十个PHP文件,执行数万行代码,效率可想而知,在安装APC等加速器后打开页面的速度明显加快。
  Zend Opcache 已经集成在了PHP 5.5里面,编译安装PHP5.5的时候加上--enable-opcache就行了。但也支持低版本的PHP 5.2.*, 5.3.*, 5.4.*,未来会取消对5.2的支持。
  下面是我在PHP 5.5下的安装方法:
  ./configure --enable-opcache
  自己添加其他的参数。如果在vps或者小内存的云服务器,添加--disable-fileinfo参数。
  make && make install
  编辑php.ini文件,具体php载入php.ini文件的路径可以通过
  # /opt/php/bin/php -i|grep php.ini
  Configuration File (php.ini) Path => /opt/php/lib
  # vim /opt/php/lib/php.ini
  
  zend_extension= "/opt/php/lib/php/extensions/no-debug-non-zts-20121212/opcache.so"
  opcache.memory_consumption=128 //共享内存大小, 这个根据你们的需求可调
  opcache.interned_strings_buffer=8 //interned string的内存大小, 也可调
  opcache.max_accelerated_files=4000 //最大缓存的文件数目
  opcache.revalidate_freq=60 //60s检查一次文件更新
  opcache.fast_shutdown=1 //打开快速关闭, 打开这个在PHP Request Shutdown的时候 会收内存的速度会提高
  opcache.enable_cli=1128意思是给它分配128M内存.
  红色部分是需要添加的具体参考php安装目录下的lib/php/extensions
  添加后重启php
  在通过
  # /opt/php/bin/php -i
  可以查看到
  Zend OPcache
  Opcode Caching => Up and Running
  Optimization => Enabled
  Startup => OK
  Shared memory model => mmap
  Cache hits => 0
  Cache misses => 0
  Used memory => 10707912
  Free memory => 22846520
  Wasted memory => 0
  Cached scripts => 0
  Cached keys => 0
  Max keys => 3907
  OOM restarts => 0
  Hash keys restarts => 0
  Manual restarts => 0
  Directive => Local Value => Master Value
  opcache.blacklist_filename => no value => no value
  opcache.consistency_checks => 0 => 0
  opcache.dups_fix => Off => Off
  opcache.enable => On => On
  opcache.enable_cli => On => On
  opcache.enable_file_override => Off => Off
  opcache.error_log => no value => no value
  opcache.fast_shutdown => 1 => 1
  opcache.force_restart_timeout => 60 => 60
  opcache.inherited_hack => On => On
  opcache.interned_strings_buffer => 8 => 8
  opcache.load_comments => 1 => 1
  opcache.log_verbosity_level => 1 => 1
  opcache.max_accelerated_files => 2000 => 2000
  opcache.max_file_size => 0 => 0
  opcache.max_wasted_percentage => 5 => 5
  opcache.memory_consumption => 32 => 32
  opcache.optimization_level => 0xFFFFFFFF => 0xFFFFFFFF
  opcache.preferred_memory_model => no value => no value
  opcache.protect_memory => 0 => 0
  opcache.restrict_api => no value => no value
  opcache.revalidate_freq => 60 => 60
  opcache.revalidate_path => Off => Off
  opcache.save_comments => 1 => 1
  opcache.use_cwd => On => On
  opcache.validate_timestamps => On => On
  至此zend opcache 安装完毕
  Cache hits => 0
  Cache misses => 0
  测试
  
页: [1]
查看完整版本: PHP 加速插件 Zend Opcache