4

我刚刚在 vps 服务器上设置了 xcache。

我正在运行管理部分,它显示 xcache 正在运行。

但是,我对某些设置有点不确定 -文档并没有深入了解每个设置的含义。

可能有用的注释

  • 在当前设置中,我只对基本的操作码缓存器感兴趣,而不是 var 数据组件。

  • 该服务器是一个具有 2GB 内存的 VPS(不确定 CPU 配置,但可以找出是否需要了解),它运行的是带有 cPanel/WHM 的 CentOS 5.x 操作系统。

  • 我有 root 访问权限,服务器将只托管一个网站。

php的版本是:

PHP 5.4.21 (cli) (built: Nov 15 2013 10:15:53) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
    with XCache v3.0.3, Copyright (c) 2005-2013, by mOo
    with XCache Cacher v3.0.3, Copyright (c) 2005-2013, by mOo

问题 1

安装的默认设置有:

xcache.shm_scheme = mmap
xcache.mmap_path = /dev/zero

为什么 mmap_path 设置为 /dev/zero?这不是否定了整个事情吗?是否应该将其设置为固定的文件路径。

问题2

其他“大小”设置是:

cache.size = 16M
xcache.slots = 8K
xcache.count = 1

有没有一种有条不紊的方法可以用来为这些制定最佳配置?

目前的统计数据是这样的:

xcache 总结

xcache 总结(续)

注意:我之前已经看到它的使用率达到了 100%。

问题 3

做什么xcache.optimizer

常见问题解答

目前只有“缓存器”和“覆盖器”模块被实现、测试并已知可以工作,“优化器”什么都不做。它将仅在处于早期开发阶段的 XCache 版本 2 中可用。

但我似乎以某种方式安装了 XCache 3.0.3 o_O

4

1 回答 1

9

Xcache 文档维护得很差,我最近尽了最大努力研究可用的内容,回答了一个类似的问题。我会解释一下以达到你的具体观点。

xcache.mmap_path

如果将其设置为空路径或无效路径,则缓存器将关闭。我相信这应该是一个可写的目录。(在 linux 服务器上,默认值/dev/zero/应该可以工作;在 OSX 上这失败了,所以我成功地使用/tmp/xcache/了)

操作码缓存器:大小、计数、插槽

  • xcache.count指的是缓存线程的数量,并且与您想要使用的 CPU 内核的数量相关——这个想法是,如果您有一个多核处理器,多线程应该会更快
    • 有效值为 2^n,如 1、2、4、8
    • 0 将禁用缓存器
    • 无效值将四舍五入到最接近的有效值
      • 即 3 将变为 4
      • 即 5 将变为 8
  • xcache.size是指所有缓存线程的总内存。因此,每个线程都会获得大致size/count的内存量
  • xcache.slots默认为 8k,除非你想改进一些特定的东西
    • 更多插槽(更细化)应该可以更有效地利用空间(在缓存中容纳更多数据)
    • 更少的插槽(更少粒度)应该会带来更快的读取时间和更高的整体稳定性

缓存器还允许用户控制变量缓存,具有类似的设置和结果。

优化器

这个功能似乎被放弃了,或者无限期地在开发中——忽略它。

于 2013-11-22T00:50:24.523 回答