文档章节

LNMP笔记:安装 Xcache 缓存扩展,降低服务器负载

Kilar
 Kilar
发布于 2016/06/19 23:35
字数 990
阅读 50
收藏 2

WordPress 精品主机推荐: | 阿里云(本站目前所用云主机)

倡萌一直都是用军哥的 lnmp 一键安装包来配置服务器环境,最近一个月来,网站流量上来了些,可能还有其他原因,导致服务器负载不太稳定,负载时不时会飙升好几倍甚至十几倍,访问就非常慢啦。昨天下午直接导致服务器 nginx 进程死掉了,想来想去,最后还是决定配置 lnmp 1.1 ,顺便安装 Xcache 对象缓存扩展,配合之前的 Memcached 内存缓存一起,负载很明显就下来了,内存占用也小多了。

XCache 简介

XCache 是一个国人开发的又快又稳定的 PHP opcode 缓存器. 经过良好的测试并在大流量/高负载的生产机器上稳定运行。经过(在 linux 上)测试并支持所有现行 PHP 分支的最新发布版本。要了解更多信息,请访问官方文档:http://xcache.lighttpd.net/

Lnmp 下安装 XCache

进入lnmp解压后的目录,执行:./addons.sh install xcache 运行后有如下提示:
addons-install-xcache.png
需要设置xcache管理页面admin用户的密码。

出现“Press any key to install...or Press Ctrl+c to cancel“,再次回车确认即可开始安装。

卸载
执行:./addons.sh uninstall xcache

安装好以后,访问 http://你的服务器IP/xcache/    输入admin用户名和密码就可以登录管理界面:

0109-cmhello_com

点击右上角的“诊断”,可以看到你目前的 Xcache 设置是否存在什么问题,而且给出了解释和建议,非常人性化。

0110-cmhello_com

设置 XCache

Xcache 的设置选项在 php.ini 里,lnmp 1.1 自动添加的如下:

;xcache
[xcache-common]
extension = xcache.so

[xcache]
xcache.shm_scheme =        "mmap"

;对象缓存的大小,默认好像是20M,可能不够用,自己修改大些
xcache.size  =               20M
; set to cpu count (cat /proc/cpuinfo |grep -c processor)
xcache.count =                 1
xcache.slots =                8K
xcache.ttl   =                 0
xcache.gc_interval =           0

;变量缓存大小,默认是 4M,一般的程序是没有用到这个缓存的,可以不理会
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.readonly_protection = Off
; for *nix, xcache.mmap_path is a file path, not directory. (auto create/overwrite)
; Use something like "/tmp/xcache" instead of "/dev/*" if you want to turn on ReadonlyProtection
; different process group of php won't share the same /tmp/xcache
xcache.mmap_path =    "/dev/zero"
xcache.coredump_directory =   ""
xcache.experimental =        Off
xcache.cacher =               On
xcache.stat   =               On
xcache.optimizer =           Off

[xcache.coverager]
; enabling this feature will impact performance
; enable only if xcache.coverager == On && xcache.coveragedump_directory == "non-empty-value"
; enable coverage data collecting and xcache_coverager_start/stop/get/clean() functions
xcache.coverager =          Off
xcache.coveragedump_directory = ""
;xcache end

我们一般就修改一下管理员用户名 xcache.admin.user  和  对象缓存大小 xcache.size  即可,当然,如果你使用了 XCache 的变量缓存,也可以进行相应设置  xcache.var_size  、xcache.var_slots  等。

更详细的设置说明,请看官方文档:http://xcache.lighttpd.net/wiki/XcacheIni

WordPress 使用 Xcache 进行变量缓存

Xcache 不仅可以缓存php,还可以缓存变量(类似于 Memcached),就是上面图中的 Var 缓存,对于 WordPress,只需要下载 https://wordpress.org/plugins/xcache/ 插件,解压后,将里面的 object-cache.php 上传到 wp-content 目录即可。

注意:

如果你一个主机安装了多个 WordPress,请使用不通过的数据库表前缀,比如 wp_ 、wp2_ ,否则可能会导致变量冲突!

如果你之前使用了 Memcached 进行变量缓存,请不要同时使用 Xcache 的变量缓存功能,两者选其一!!

错误排查

LNMP:配置过程中,如果你先添加了域名绑定主机,然后再安装 xcache,访问xcache 管理界面时,可能会提示:

Fatal error: xcache_count(): xcache.admin.user and/or xcache.admin.pass settings is not configured. Make sure you've modified the correct php ini file for your php used in webserver. in /home/xxx/xcache/cacher/index.php on line 259

究其原因,打开php.ini配置文件:

vi /usr/local/php/etc/php.ini

在 xcache 的配置信息上方,可以看到绑定的域名信息:

0114-cmhello_com

这段域名信息在 ;xcache 配置信息的上方,我们将它移到 ;xcache end 的下面,保存重启php即可:

0115-cmhello_com

本文转载自:http://www.cmhello.com/lnmp-install-xcache.html

Kilar
粉丝 5
博文 64
码字总数 2561
作品 0
肇庆
程序员
私信 提问
Xcache缓存器的介绍、使用及配置

1.Xcache介绍 在很短的时间内,PHP 成为了一种非常流行的开发 Web 应用程序的程序设计语言。对初学者来说,PHP易于安装和学习。对于有经验的开发人员而言,PHP(从 V5 开始)提供了强大的面向...

lincoln.yu
2013/12/12
0
0
XCache 3.0.0 发布,PHP 性能提升方案

XCache 3.0.0 发布,该版本除了 bug 修复,对 XCache 管理页面做了很多改进,支持命名空间;通过增加新的诊断模块;可在崩溃时自动禁用缓存。需要注意的是要使用 extension= 来加载 XCache,...

oschina
2012/10/31
4K
18
Xcache在Win7 下的php扩展配置

XCache 是一个又快又稳定的 PHP opcode 缓存器. 经过良好的测试并在大流量/高负载的生产机器上稳定运行. 经过(在 linux 上)测试并支持所有现行 PHP 分支的最新发布版本, 如 php5.0~php5.6(x6...

陨落人间
2014/10/04
0
4
XCache 3.0.3 发布,继续强烈建议升级

XCache 3.0.3 是 3.0.2 的重新发布版本,删除了一些无用的文件,修复了 bug,包括随机的 "cannot redeclare class" 错误,正在使用 XCache 3.0.x 和 PHP 5.4+ 的用户强烈建议升级。 XCache 是...

oschina
2013/06/19
1K
7
XCache 3.0.2 发布,错误修复强烈建议升级

XCache 3.0.2 修复了一些 bug,包括随机的“cannot redeclare class" 错误,强烈建议使用 XCache 3.0.x 和 PHP 5.4+ 的用户立即升级。 XCache 是一个开源的 opcode 缓存器/优化器, 这意味着他...

oschina
2013/06/13
1K
6

没有更多内容

加载失败,请刷新页面

加载更多

聊聊dubbo的DataStore

序 本文主要研究一下dubbo的DataStore DataStore dubbo-2.7.2/dubbo-common/src/main/java/org/apache/dubbo/common/store/DataStore.java @SPI("simple")public interface DataStore { ......

go4it
昨天
0
0
17.windows上安装kafka并简单应用

1.单机版 1.1 安装jdk 略 1.2 安装zookeeper https://my.oschina.net/springMVCAndspring/blog/3045210 1.3 安装window上安装kafka 1.3.1 下载 http://kafka.apache.org/downloads 1.3.2 解压......

20190513
昨天
1
0
缓存雪崩

缓存雪崩原因:大批次的缓存数据,同一时刻过期 解决方案: 1、尽可能避免所有缓存在同一时刻过期,即:合理调整过期策略 2、对条件加锁 伪代码: public ProductselectProduct(String id){ ...

少年已不再年少
昨天
9
0
所以说这才是Redis进化史吗?看Redis是如何变成最强缓存的

写在前面:笔者翻阅了很多资料,只能找到Redis2.2及以后的主要版本的发布日志。所以,让我们从2.2开始一步一步深入了解Redis。 2.2 redis-cli命令非常大的改进: Tab补全,支持help(例如help ...

Java干货分享
昨天
14
0
manjaro抽风,/usr/lib/modules目录丢失

现象 2019年6月16日这周,突然发现manjaro抽风: 先是启动时无法加载一些内核模块,导致启动失败 然后用启动盘重新pacman -S linux,第一次启动是好的,再启动就有问题了 原因 翻来覆去搞不定...

chuqq
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部