缓存插件之,5使用Opcache加速PHP的配置详解

使用腾讯云服务器已经有一段时间了。购买的是腾讯云服务器系统是CentOS6.3版本的Linux发行版。前段时间还一直折腾这HHVM—->来自Facebook开源开发的PHP虚拟机。可惜的是一直没有个结果出来,如今,看来也不用去折腾它了。今天在PHP服务器上加载了Opcache加速模块。感觉良好。经过站长综合SEO查询可以检测出现下的响应时间大大提升了。从之前的400多ms到现在的180多ms左右。

PHP 缓存插件之 Zend Opcache ( 取代 APC )

简介:

Zend Opcache 、APC 这都是 PHP 代码加速器,将 PHP
源代码的编译结果缓存起来,再次调用时对比时间标记,如果没有改变则使用缓存数据,免去再次解析代码的开销。

APC 止步于 PHP 5.4 ,Zend Opcache 从 PHP 5.5 开始集成,取代 APC 。

一、安装 Zend Opcache

1、源码编译 PHP 时,加入 –enable-opcache
即可开启该扩展,之后稍做配置即可

2、手动添加 Zend Opcache 扩展。

shell > cd /usr/local/src/php-5.6.17/ext/opcache # 进去 PHP
源码目录下的插件目录
永利皇宫 ,shell > /usr/local/php/bin/phpize # 生成 configure
shell > ./configure –with-php-config=/usr/local/php/bin/php-config
shell > make; make install # 完成安装
Installing shared extensions:
/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/

二、配置 Zend Opcache

 

shell > vim /usr/local/php/php.ini

[opcache] # 找到该模块

zend_extension=’/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/opcache.so’
# 指定库文件

opcache.enable=1 # 开启 Zend Opcache

opcache.enable_cli=1 # 开启在命令行使用 Opcache

opcache.memory_consumption=32 # 共享内存大小,单位 MB
,根据实际情况设置

opcache.interned_strings_buffer=8

opcache.max_accelerated_files=4000 #
最大缓存文件数量,命中率低时,可以提高该限制 ( 4000 并不是整 4000
,会比这个数多一些 )

opcache.revalidate_freq=60 # 查找文件更新间隔

opcache.save_comments=0 #
不保存文件、函数的注释,可以提升性能,但是对有些框架会产生问题,建议测试后设置!(
默认为 1 保存 )

opcache.fast_shutdown=1 # 启用内存快速回收

shell > service php-fpm restart # 现在 phpinfo
界面就可以看到成功加载了 Zend Opcache ,或 php -m | grep -i opcache

 

三、监控、管理 Zend Opcache

两个开源项目 ( 第二个貌似好搞一点 ) :

1、
2、

# 可以直观的看到内存使用量、命中率、缓存文件等等信息!
# 第二个项目是单文件部署,很方便。不过要给该 URL 设置好权限。

 

shell > unzip opcache-gui-master.zip
shell > mkdir /data/www/opcache ; cp opcache-gui-master/index.php
/data/www/opcache/

shell > vim /usr/local/nginx/conf/nginx.conf

location ~ /opcache/index.php { # 在 server{} 中加入配置,可以使用
.*opcache.* 来代替 /opcache/index.php

    access_log off;

    allow 127.0.0.1;
    allow 36.110.41.194; # 只允许某 IP 访问
    deny all;

    location ~ \.php$ { # 这里也要加入对 PHP 的解析,否则会报 404
权限拒绝
    root /data/www;
    fastcgi_pass 127.0.0.1:9000;
    # fastcgi_pass unix:/dev/shm/php-cgi.sock; # 127.0.0.1:9000
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /data/www$fastcgi_script_name;
    include fastcgi_params;
    }
}

shell > kill -HUP `cat /usr/local/nginx/logs/nginx.pid`

 

# 现在去浏览器访问 吧!
# 这就是 Zend Opcache ,挺方便、又实用!( 原来的 APC 也蛮好的!)

四、压力测试

 

shell > yum -y install siege

shell > siege -c 100 -t 30s # 100
个并发,测试 30 秒 ( 示例 )

Transactions:            5624 hits        # 总请求数
Availability:            100.00 %        # 成功率
Elapsed time:            29.56 secs      # 总耗时
Data transferred:        117.17 MB        # 数据总传输量
Response time:          0.01 secs        # 响应时间
Transaction rate:        190.26 trans/sec # 平均每秒完成多少次请求
Throughput:              3.96 MB/sec      # 平均每秒数据传输量
Concurrency:            2.32            # 实际最高并发连接数
Successful transactions: 5624            # 成功处理次数
Failed transactions:    0                # 失败处理次数
Longest transaction:    0.15            # 每次传输最长时间
Shortest transaction:    0.00            # 每次传输最短时间

深入理解PHP中的ini配置

剖析PHP脚本的超时机制

Ubuntu 14.04下搭建PHP开发环境PDF 

PHP 7革新与性能优化

PHP 7 ,你值得拥有   

在 CentOS 7.x / Fedora 21 上面体验 PHP 7.0   

CentOS 6.3 安装LNMP (PHP 5.4,MyySQL5.6)  

在部署LNMP的时候遇到Nginx启动失败的2个问题  

Ubuntu安装Nginx php5-fpm MySQL(LNMP环境搭建)  

《细说PHP》高清扫描PDF+光盘源码+全套教学视频  

CentOS 6中配置PHP的LNMP的开发环境   

PHP 的详细介绍:请点这里
PHP 的下载地址:请点这里

本文永久更新链接地址:

缓存插件之 Zend Opcache ( 取代 APC ) 简介:
Zend Opcache 、APC 这都是 PHP 代码加速器,将 PHP
源代码的编译结果缓存起来,再次调用时对比时间…

小站程序直接使用Nginx是没有错的,Apache消耗内存太大了,根本不够折腾滴。对于Nginx的fastcgi_cache一直没有解决,不好使。动态页面还是不要缓存来得实在。下面来说下在PHP5.5.0以后版本的PHP启用Opcache加速。

PHP5.5.0以后已经将Opcache集成到源码包里面了。对了,忘记说Opcache是什么来着了。简单说吧,Opcache是PHP的加速器中的一种,由之前的
Zend Optimizer
改名而来,类似国人开发的Xcache差不多,都是讲PHP编译过的结果暂时缓存在内存中以便下次出现同样的请求不重新作PHP编译直接返回结果。

PHP5.5.0以后版本自带Opcache加速器,但默认情况下木有启用。所以编译的使用我们想要启用该PHP加速器就应该添加参数
: –enable-opcache
来制定。对于已经编译安装了PHP5.5.0以上版本但当初又没有启用该加速器的用户可以像PHP添加模块一样编译添加。添加已经编译安装好的PHP模块可参照 这里 。唯一不同的就是opcache的包目录已经自带和在PHP.INI下的配置参数不一样。如下图操作:永利皇宫 1

然后再php.ini配置里面添加对应的opcache配置即可:

网站地图xml地图