配置xcache插件加速
1.xcache.ini参数说明
xcache软件的解压目录xcache-3.2.0下存在一个名为xcache.ini的配置文件,即为xcache的配置文件。参数说明如下:
xcache配置文件参数 | 解释说明 |
[xcache-common] extension = xcache.so | 加载xcache.so,路径相对于extension_dir的配置。自3.0版本开始不再使用zend_extension加载xcache的方式 |
[xcache.admin] xcache.admin.enable_auth = On | 激活管理员认证 |
xcache.admin.user = “mOo” xcache.admin.pass = “md5 encrypted password” | 执行xcache管理员用户名和密码,密码根据md5加密产生,留空表示禁止管理页面 |
[xcache] | 开始xcache缓存参数配置段,下面所有的初始值即为默认值,除非明确说明。 |
xcache.shm_scheme = “mmap” | 设置XCache如何从系统分配共享内存 |
xcache.size = 60M | 0为禁止缓存,非0则启用缓存。需要注意系统所允许的mmap最大值 |
xcache.count = 1 | 指定将cache切分成多少块,官方推荐设置为服务器cpu的数量** grep-c processor /proc/cpuinfo |
xcache.slots = 8K | 只是作为bash个数的参考值,缓冲超过这个个数的内容没有任何问题 |
xcache.ttl = 0 | 设置cache对象的生存期TTL(time to live) 0为永不过期 |
xcache.gc_interval = 0 | 回收期扫描过期的对象回头内存空间的间隔,0为不扫描,其他值的单位是 |
xcache.var_size = 4M xcache.var_count = 1 xcache.var_slots = 8K xcache.var_slots = 0 xcache.var_gc_interval = 300 | 这几个值和上面的几个类似,只不过用于变量缓存,而不是opcode缓存 |
xcache.readonly_protection = Off | 如果启用了该参数,将会略微降低性能,但会提高一定的安全系数,这个选项对于 xcache.mmap_path = /dev/zero 无效 |
xcache.mmap_path = “/dev/zero” | 对于*nix,xcache.mmap_path是一个文件路径而非目录。如果要启用该参数 请使用“/tmp/xcache”这样的路径,而是“/dev/*”如果开启了xcache.readonly_protection参数,不同进程组的PHP将不会共享同一个/tmp/xcache路径 |
xcache.coredump_directory = “” | 当XCache crash后,是否把数据保存到指定路径 |
xcache.disable_on_crash = Off | 当xcache发生crash时,自动关闭xcache缓存 |
有关更多参数说明请看配置文件对应注释说明或参考官方文档:
http://xcache.lighttpd.net/wiki/XcacheIni
2.操作
因为xcache已经提供好配置文件我们追加到php.ini即可
[root@web02 xcache-3.2.0]# cat xcache.ini >>/application/php/lib/php.ini
3.检查XCache加速情况
[root@web02 ~]# /application/php/bin/php -vPHP 5.5.32 (cli) (built: May 24 2016 13:55:46) Copyright (c) 1997-2015 The PHP GroupZend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies with XCache v3.2.0, Copyright (c) 2005-2014, by mOo with XCache Cacher v3.2.0, Copyright (c) 2005-2014, by mOo
提示:eAccelerator和xcache在php中只能有一个否则会出现error
修改完成后必须要重启PHP,否则不生效
4.配置Web界面查看XCache缓存加速信息
XCache支持Web界面管理,使用web界面生产md5地址如下:
http://xcache.lighttpd.net/demo/cacher/mkpassword.php 通过输入字符串生产Xcache管理员的密码,这里使用MD5sum生成明文密码。
[root@web02 xcache-3.2.0]# echo -n "123456"|md5sum e10adc3949ba59abbe56e057f20f883e -
修改配置php.ini,在xcache.admin标签段修改
[xcache.admin]xcache.admin.enable_auth = Onxcache.admin.user = "abcdocker" #此处是用户名xcache.admin.pass = "e10adc3949ba59abbe56e057f20f883e"#此处是md5加密的密码路径提示:要求密码必须要使用md5加密
然后复制xcache软件下面的缓存加速管理PHP程序到站点目录下:
[root@web02 xcache-3.2.0]# cp -a htdocs/ /application/nginx/html/blog/xadmin[root@web02 xcache-3.2.0]# chown -R www.www /application/nginx/html/blog/xadmin[root@web02 xcache-3.2.0]# pkill php-fpm[root@web02 xcache-3.2.0]# /application/php/sbin/php-fpm
可以直接在浏览器上输入:域名/IP/xadmin 就可以访问
进入xcache界面
如果我们没有设置时区,会出现警告,解决方法如下
修改时区
[Date]; Defines the default timezone used by the date functions; http://php.net/date.timezonedate.timezone = Asia/Chongqing去掉注释,修改地址
修改完需要重启
配置ZendOpcache参数
在php.ini的最后面加入下面几行:
[opcache]zend_extension=/application/php5.3.27/lib/php/extensions/no-debug-non-zts-20090626/opcache.so;extension=opcache.soopcache.memory_consumption=32 opcache.interned_strings_buffer=8opcache.max_accelerated_files=1000 opcache.revalidate_freq=60 opcache.fast_shutdown=1opcache.enable_cli=1
opcache参数说明
opcache参数 | 解释说明 |
opcache.memory_consumption=32 | Opcache共享内存空间大小,用于存放precompiled PHP code,默认为64,单位为Mbytes |
opcache.interned_strings_buffer=8 | 默认值为4,interned strings内存的数量,单位是M |
opcache.max_accelerated_files=1000 | 默认值是2000,Opcache哈希表的key的最大数量 |
opcache.revalidate_freq=60 | 默认值2,检查文件时间戳的频率,用于共享内存分配的变化。 |
opcache.fast_shutdown=1 | 默认值为0,如果激活,一个快速的关闭队列奖杯用来加速代码 |
opcache.enable_cli=1 | 默认值为0,激活PHP CLI的OPcache,用于测试和调试 |
更多参数说明:
[root@web02 zendopcache-7.0.5]# cd zendopcache-7.0.5[root@web02 zendopcache-7.0.5]# less README
再次提示:
ZendOPcache是PHP官方的新一代的缓存加速软件,php5.5以前可以用ZendOPcache软件以插件扩展的方式安装,从PHP5.5版本开始整合到PHP软件里,编译时只需要指定一个参数即可,例如:–enable-opcache
PHP指定MySQL的编译参数带来的问题
如果我们再编译的时候指定了–with-mysql=mysqlnd和–with-pdo-mysql=mysqlnd的参数进行编译,例如:
./configure \--prefix=/application/php5.5.32 \--with-mysql=/application/mysql/ \--with-pdo-mysql=mysqlnd \--with-iconv-dir=/usr/local/libiconv \.....省略其他参数
则再生产中可能会遇到socket连接问题,解决方法是在php.ini里添加如下命令
pdo_mysql.default_socker=/application/php5.5.32/tmp/mysql.sock
生成环境PHP扩展插件的安装建议
1.PHP的安装插件表格列表
2.生成环境查看的安装建议
(1)对于功能性插件,如果业务产品不需要使用,可以暂时不考虑安装,例如:PDO_MYSQL\memcached\imagick等。如果不清楚是否需要,还是最好装上,有备无患。
(2)对于性能优化插件,eAccelerator、xcache、ZendOPcache、APC可以安装任一种,具体情况看业务需求,在选择时最好能搭建相关环境进程压力测试,然后根据实际测试结果来选择,用数据说话。
3.PHP加速插件的测试结果对比
针对PHP加速器比较结果进行总结
1.通过测试得出eAccelerator在请求时间和内存占用综合方面是最好的
2.通过测试得出使用加速器比无加速器的请求时间快了3倍左右
3.通过各个官方观察,Xcache是更新最快的,说明它是最有发展的。
那我们到底用哪个加速器呢?
首先,用一定比不用好,其次每个加速器还有一些可以优化的参数,所以要根据你的系统环境而定,此外,xcache和zendopcache这两款加速器的潜力还是很大的。
共同学习,写下你的评论
评论加载中...
作者其他优质文章