设为首页 收藏本站
查看: 1142|回复: 0

[经验分享] php + Xcache 的配置及测试

[复制链接]

尚未签到

发表于 2015-12-23 16:17:40 | 显示全部楼层 |阅读模式
简介:
        Xcache是一个开源的opcode缓存器/优化器,能够提高服务器上的php性能,它通过把编译php后的数据缓存到共享内存,从而避免重复的编译过程,能够直接使用共享内存中已编译好的代码而提高速度,
通常能够提高2-5倍,降低服务器负载。

特性:
        Xcache是一个又快又稳定PHP opcode缓存器。经过测试可在大流量、高负载的生产环境稳定运行。而且支持目前所有php版本,而且属于国内开发的开源软件。

配置:

        1、在配置Xcache之前,应装好Apache 和 php 。centos 和redhat直接使用yum安装就好了,这里不做介绍。
         2、下载Xcache软件包

[iyunv@test ~]# wget http://xcache.lighttpd.net/pub/Releases/1.3.0/xcache-1.3.0.tar.gz   
[iyunv@test ~]# tar zxvf xcache-1.3.0.tar.gz
[iyunv@test ~]# cd xcache-1.3.0
[iyunv@test xcache-1.3.0]# phpize                  phpize 是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块,只有执行了此命令才能使用 ./configure 来编译安装。
        
        3、编译安装

[iyunv@test xcache-1.3.0]# ./configure --enable-xcache --enable-xcache-coverager --enable-xcache-optimizer --with-php-config=/usr/bin/php-config
[iyunv@test xcache-1.3.0]# make  && make install

说明:
    --enable-xcache 表示启用Xcache支持;
    --enable-xcache-coverager 表示包含用于测量加速器功效的附加特性;
    --enable-xcache-optimizer 表示启用操作码优化

安装完毕。

[iyunv@test xcache-1.3.0]# make install
Installing shared extensions:     /usr/lib64/php/modules/

cd /usr/lib64/php/modules/
cp -a xcache.so /usr/include/php/ext/

将 xcache.so模块复制到/usr/include/php/ext/ 目录下。

[iyunv@test xcache-1.3.0]# grep -v ";" xcache.ini   通过该命令筛选出正文并复制到php.ini文件里。

[iyunv@test xcache-1.3.0]# grep -v ";" xcache.ini >> /etc/php.ini

修改配置文件如下:
[xcache-common]
zend_extension = /usr/include/php/ext/xcache.so

[xcache.admin]
xcache.admin.enable_auth = On
xcache.admin.user = "xcache"
xcache.admin.pass = "e10adc3949ba59abbe56e057f20f883e"               #密码下面有说明

[xcache]

xcache.shm_scheme =        "mmap"
xcache.size  =               60M
xcache.count =                 1
xcache.slots =                8K
xcache.ttl   =                 0
xcache.gc_interval =           0

xcache.var_size  =            4M
xcache.var_count =             1
xcache.var_slots =            8K
xcache.var_ttl   =             0
xcache.var_maxttl   =          0
xcache.var_gc_interval =     300

xcache.test =                Off
xcache.readonly_protection = Off
xcache.mmap_path =    "/tmp/xcache"


xcache.coredump_directory =   ""

xcache.cacher =               On
xcache.stat   =               On
xcache.optimizer =           Off

[xcache.coverager]
xcache.coverager =          Off

xcache.coveragedump_directory = ""

建立改缓存文件
我们配置了缓存文件为:xcache.mmap_path =    "/tmp/xcache"
[iyunv@test ~]# touch /tmp/xcache
[iyunv@test ~]# chmod 777 /tmp/xcache  
给与权限。

生成md5的xcache管理员密码

[iyunv@test ~]# echo 123456 | md5sum

将生成的加密写入上面  xcache.admin.pass


以上就是对Xcache的定义以及一些参数。引用别人的一句话:

最重要的参数是xcache.var_size和xcache.size,可以根据内存设置,但是在top中,内存占用直接多出来很多,比如都设置了为256M,则php-cgi的占用就在530M左右,基本的php大约10-15M,加上512M,就快到530了。


到这里配置基本就完成了。启动服务。
[iyunv@test ~]# service httpd restart
[iyunv@test ~]# service php-fpm start
Starting php-fpm: [27-Jun-2015 18:05:02] NOTICE: PHP message: PHP Warning:  Cannot load module 'XCache' because conflicting module 'apc' is already loaded in Unknown on line 0
                                                           [  OK  ]

注意:centos下使用yum安装的php默认使用APC模块的,如果要启用Xcache就必须禁止APC

[iyunv@test ~]# mv /etc/php.d/apc.ini /etc/php.d/apc.ini.bak  
再次重启 php-fpm 就启动用了Xcache

然后可以拷贝编译文件目录下的admin到httpd的默认目录进行测试:

[iyunv@test xcache-1.3.0]# cp -a admin /var/www/html/

直接浏览器访问
用户名和密码就是我们刚才配置文件里写的。使用phpinfo也可以进行测试。


Apache + php + Xcache  的简单配置就完成了。


这是某大神做过的测试,贴出来以供参考。

请求时间(秒)单次请求时间(毫秒)最大内存占用(MB)最小内存占用(MB)
None10.4196.082424
APC30.4532.842121
eAccelerator31.2631.992318
XCache30.2833.022919

  PHP加速器比较结果总结
       1、通过测试得出eAccelerator在请求时间和内存占用综合方面是最好的。
       2、通过测试得出使用加速器比无加速器在请求时间快了3倍左右。
       3、通过各个官方观察,XCache是更新最快的,这也说明最有发展的。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-155399-1-1.html 上篇帖子: php使用phpqrcode类库生成带图片LOGO的二维码 下篇帖子: Php功能模块扩展--memcached
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表