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

[经验分享] Xcache为PHP提速

[复制链接]

尚未签到

发表于 2018-12-20 07:38:18 | 显示全部楼层 |阅读模式
  XCache 是一个又快又稳定的 PHP opcode 缓存器. 经过良好的测试并在大流量/高负载的生产机器上稳定运行. 经过(在 linux 上)测试并支持所有现行 PHP 分支的最新发布版本, 如 PHP_5_1 PHP_5_2 PHP_5_3 PHP_5_4. 并完美支持线程安全/Windows. 与同类 opcode 缓存器相比更胜一筹, 比如能够快速跟进 PHP 版本.
  更多详细信息,请访问Xcache官方网站:http://xcache.lighttpd.net/
  
  安装步骤:

  1、解压tar.gz包
[root@localhost ~]# tar xf xcache-3.0.4.tar.gz  -C /usr/local/src
[root@localhost ~]# cd /usr/local/src
[root@localhost src]# cd xcache-3.0.4/
### 查看安装步骤
[root@localhost xcache-3.0.4]# vim INSTALL
Installtion:
    $ phpize --clean && phpize
    $ ./configure --help
    $ CFLAGS='your cflags' ./configure --enable-xcache --enable...
    $ make
    $ su
    # make install
        (update php.ini, restart php)

### 用本地的解释器探测模块所依赖的版本号/扩展API,生成序列号标记,而后才能产生configure文件,才能编译
[root@localhost xcache-3.0.4]# /usr/local/php/bin/phpize
[root@localhost xcache-3.0.4]# ./configure --enable-xcache --enable-xcache-coverager --enable-xcache-optimizer --with-php-config=/usr/local/php/bin/php-config
# 注意:
--enable-xcache            # 启用xcache
--enable-xcache-vocerager  # 附加特性
--enable-xcache-optimizer  # 启用操作码优化
[root@localhost xcache-3.0.4]# make && make install
## 安装完成后,会提示xcache.so模块的路径, 我们把xcache.so移动到/usr/local/php/include/php/ext目录下,方便管理
Installing shared extensions:    /usr/local/php/lib/php/extensions/no-debug-zts-20100525/
[root@localhost xcache-3.0.4]# mv /usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so  /usr/local/php/include/php/ext/
## 生成Xcache管理员的密码(MD5密文)
[root@localhost ~]# echo -n '123456' | md5sum
e10adc3949ba59abbe56e057f20f883e  2、整合php和xcache
[root@localhost xcache-3.0.4]# cp xcache.ini /etc/php.d/
### 编辑xcache.ini
##通常仅编辑
extension =
xcache.admin.enable_auth =
xcache.admin.user =
xcache.admin.pass =
#####################################
[xcache-common]
extension = "/usr/local/php/include/php/ext/xcache.so"
;xcache.so路径
[xcache.admin]
xcache.admin.enable_auth = On
;开启验证
xcache.admin.user = "xcache"
;验证名
xcache.admin.pass = "e10adc3949ba59abbe56e057f20f883e"
;md5后的验证密码, 亦即echo -n "123456" | md5sum,留空则禁用管理页面.
[xcache]
xcache.shm_scheme ="mmap"
; 决定 XCache 如何从系统分配共享内存
xcache.size=60M
; 0 禁止, 非 0 则启用缓存器. 请注意您系统所允许的 mmap 最大值.
xcache.count =1
; 指定将 cache 切分成多少块.(cat/proc/cpuinfo |grep -c processor)
xcache.slots =8K
; 只是作为 hash 槽个数的参考值, 您可以放心地缓冲超过这个个数的项目.
xcache.ttl=0
; 设置缓冲项目的 Ttl (Time To Live) 值, 0=永不过期.
xcache.gc_interval =0
; 检查过期项目, 回收内存空间的间隔.
xcache.var_size=4M
xcache.var_count =1
xcache.var_slots =8K
; 同上, 不过用于数据缓冲而不是 opcode 缓冲.
xcache.var_ttl=0
; xcache_(get|set|inc|dec) 等的默认 ttl 值.
xcache.var_maxttl=0
; 最大 ttl 值, 程序无法指定超过这个最大值的 ttl.
xcache.var_gc_interval =300
xcache.test =Off
xcache.readonly_protection = On
;如果启用了 ReadonlyProtection, 将会略微降低性能, 但是会提高一定的安全系数. 这个选项对于xcache.mmap_path = /dev/zero 无效.
xcache.mmap_path ="/tmp/xcache"
;缓存文件,不是目录,需要手动创建
xcache.coredump_directory =""
xcache.cacher =On
;使用/不使用 opcode 缓存器. xcache.size = 0 时无效.
xcache.stat=On
;使用 stat() 发现检查脚本更新.
xcache.optimizer =Off
[xcache.coverager]
xcache.coverager =On
;启用代码覆盖信息采集到. 启用后xcache.coveragedump_directory 设置以及xcache_coverager_start/stop/get/clean() 才可以使用. (启用后会对降低影响)
xcache.coverager_autostart = On
;每个页面请求自动调用 xcache_coverager_start
xcache.coveragedump_directory =""  

  

  3、生成xcache缓存文件
[root@localhost ~]# touch /tmp/xcache
[root@localhost ~]# chmod 777 /tmp/xcache  

  4、使用admin管理
  其实要想作为一个站点,可以有5种方式进行访问 :
  (物理目录、虚拟目录、基于IP、基于端口、基于主机)
# 拷贝Xcache管理程序到网站根目录下
[root@localhost xcache-3.0.4]# cp -a htdocs /usr/local/apache/htdocs/xadmin
# 重启 httpd, 如果fastCGI方式,还需要重启php-fpm服务
[root@localhost ~]# service httpd restart
[root@localhost ~]# service php-fpm restart
报错:
Starting php-fpm: [21-Jul-2014 18:55:21] NOTICE: PHP message: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/php/include/php/ext/xcache.so' - /usr/local/php/include/php/ext/xcache.so: undefined symbol: core_globals_id in Unknown on line 0
#########################  ?????????
# 这里我不知道出现了什么情况, 不知道是不是版本的问题
# httpd-2.2.27 , php-5.4.30 , xcache-3.0.4 , fastCGI 方式
#
# 希望大家解答一下
#########################
# 后来,我还是使用module的方式, 就一切OK。。
[root@localhost ~]# vi /etc/httpd/httpd.conf
LoadModule php5_module        modules/libphp5.so
#LoadModule fastcgi_module        modules/mod_fastcgi.so
[root@localhost httpd]# service httpd restart  

  然后访问http://localhost/xadmin,用户名为xcache,密码为123456;

  

  另外,还可以通过phpinfo来验证PHP是否支持Xcache

  

  参考:
  http://51log.blog.运维网.com/6076767/1291006
  http://wushuaishuai.cn/xcache-buffer-introduction-use-and-configure.html
  





运维网声明 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-653342-1-1.html 上篇帖子: php使用zeromq 下篇帖子: PHP 如何实现异步
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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