注: 由于原链接已不存在, 所以我把图片重新整理了一下, 以便看起来更加直观

笔者注: 1>  PHP 性能提升之 PHP NG  =>  php next generation

wiki:  https://wiki.php.net/phpng

说明: http://www.oschina.net/news/53677/php-5-7-twice-as-fast

2> hhvm  (php 虚拟机)

http://www.oschina.net/news/50183/hhvm-3-0-?from=20140330

http://www.oschina.net/news/50112/how-hhvm-improve-php-performance?p=2

http://www.tuicool.com/articles/jeiQZzn

    

参考: http://www.oschina.net/question/998019_110792

http://cnzhx.net/blog/zendopcache-accelerate-php/

转自 http://www.laogui.com/Zend-Opcache

大家知道目前PHP的缓存插件一般有三个:APCeAcceleratorXCache,但未来它们可能都会消失,因为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.4下的安装方法:

依次执行下面的命令
wget http://pecl.php.net/get/zendopcache-7.0.2.tgz
tar xzf zendopcache-7.0.2.tgz
cd zendopcache-7.0.2
phpize 
如果找不到phpize 的话自己找PHP路径,我的在/usr/local/php/bin/phpize,下面这行也要按你的php.ini路径自行修改
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install

如果显示Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/ 表示安装完成,下面要修改php的配置文件让它生效

在 php.ini 的最后面加入下面几行
zend_extension=/usr/local/php/lib/php/extensions/no-debug-zts-20100525/opcache.so
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1

128意思是给它分配128M内存,然后重启apache,用phpinfo查看是否生效,显示下面的信息就说明生效了

在phpinfo页面的下面可以看到的运行状态

如果嫌这个不直观可以装个PHP文件查看,地址在https://gist.github.com/ck-on/4959032,把上面的代码保存为一个php文件放到你的网站目录下面打开就可以看到:

命中率95%。

Zend Opcache因为最近才出来,现在还是测试版,相信在未来几年会越来越流行,现在真没多少人用。目前测试来看还比较稳定,我已经在 vbulletin论坛下运行了几天,不过没看出和APC、xcache有啥区别,只是最近我的APC老让apache崩溃(可能是apache和php版本太新的原因),想换个试试,毕竟Zend Opcache和APC都是php官方的,值得信赖。

最新文章

  1. BW顾问必需要清楚的:时间相关数据建模场景需求分析
  2. jxl读数据库数据生成xls 并下载
  3. ld: library not found for -lPods-AFNetworking
  4. Nodejs路由之间的数据传递
  5. WTL在Win8.1系统WM_DROPFILES无法响应的解决办法
  6. poj 2449(A*求第K短路)
  7. ThinkPHP学习笔记 实例化模型的四种方法
  8. Java - 注解 (Annotation)
  9. poj2163
  10. 记2014“蓝桥杯全国软件大赛"决赛北京之行
  11. Java基础---Java---网络编程---TCP的传输、客户端和服务端的互访、建立一个文本转换器、编写一个聊天程序
  12. oralce 查看是否启动 登陆 创建用户 常用命令小记
  13. DataTables warning : Requested unknown parameter '0' from the data source for row 0错误
  14. CF980E
  15. Socket 网络通信
  16. js 原生图片上传
  17. xcode工程编译错误:No architectures to compile for
  18. 系统构架篇之基于SSDB的二级缓存
  19. javascript 面向对象编程(工厂模式、构造函数模式、原型模式)
  20. javaweb之jsp标签

热门文章

  1. mysql数据类型——枚举enum(‘F’,'M')
  2. yii 验证用户名是否存在 array("name","unique",'message'=>'用户名已经存在'),
  3. map和lambda
  4. seajs打包部署工具spm的使用总结
  5. Java 利用SWFUpload多文件上传 session 为空失效,不能验证的问题 swfUpload多文件上传
  6. 14.5.3 Locks Set by Different SQL Statements in InnoDB
  7. 使用 libevent 和 libev 提高网络应用性能
  8. hiho #1079 : 离散化
  9. COJ 0047 20702最大乘积
  10. 【转】Jollen 的 Android 教學,#12: 如何建立選單 Menu