一、配置
1、分层:Xcache将缓存对象分为两类:php代码和php变量,前者在xcache.ini中只是单纯的xcache前缀,后者则用xcache_var前缀,两个对象可以独立调整。
2、配置说明:
- xcache.admin.user string
-
//"验证名."
-
xcache.admin.pass string
-
//"md5 后的验证密码, 亦即 md5(您的密码), 留空则禁用管理页面."
-
xcache.test string
-
//"仅在测试一些功能的时候才启用. 如果您不知道这个功能的作用, 则您不需要知道."
-
xcache.coredump_directory string
-
//"设置在 crash (SIGSEGV/SIGABRT) 时保存 core dump 文件的路径. 留空则禁止, 或者设置为类似 "/tmp/phpcore/" 的目录. 确保这个路径可以被 php 写入文件. (与 open_basedir 无关)."
-
xcache.admin.enable_auth string
-
//"如果你打算自己处理验证, 用这个选项禁止 HTTP 验证功能. 值得注意的是任意 vhost 用户都可以安装一个 XCache admin 页面, 如果禁止了内建 HTTP 验证, 则他们亦不需要权限即可访问管理页面. 出于安全考虑, 您应该尽量考虑保留 XCache 内建验证功能, 针对 XCache admin 页面特定地址取消网页服务器的 mod_auth //这个选项仅在 1.2.x 系列有作用, 起始版本 1.2.1"
-
-
/* XCache Cacher */
-
-
xcache.cacher boolean
-
// 使用/不使用 opcode 缓存器. xcache.size = 0 时无效.
-
xcache.size int
-
//0 禁止, 非 0 则启用缓存器. 请注意您系统所允许的 mmap 最大值.
-
xcache.count int
-
//指定将 cache 切分成多少块. 参考 SplittedCache,官方文档是说一般跟CPU的数目相同,实际操作中,跟fcgi-php的数目相同???(没有求证,因为设置为CPU的数目,比如说2,则只有两个进程的内存增加,每个php-cgi的内存占用不平衡。)
-
xcache.slots size
-
//只是作为 hash 槽个数的参考值, 您可以放心地缓冲超过这个个数的项目.
-
xcache.ttl seconds
-
//设置缓冲项目的 Ttl (Time To Live) 值, 0=永不过期.
-
xcache.gc_interval seconds
-
//检查过期项目, 回收内存空间的间隔.
-
xcache.var_size int
-
xcache.var_count int
-
xcache.var_slots size
-
xcache.var_gc_interval seconds
-
//同上, 不过用于数据缓冲而不是 opcode 缓冲.
-
xcache.var_ttl seconds
-
//xcache_(get|set|inc|dec) 等的默认 ttl 值.
-
xcache.var_maxttl seconds
-
//最大 ttl 值, 程序无法指定超过这个最大值的 ttl.
-
xcache.readonly_protection boolean
-
//如果启用了 ReadonlyProtection, 将会略微降低性能, 但是会提高一定的安全系数. 这个选项对于 xcache.mmap_path = /dev/zero 无效.
-
xcache.mmap_path string
-
对于 *nix, xcache.mmap_path 是 文件路径, 不是目录. 对于 Win32, xcache.mmap_path //只是匿名的 map 名, 不是实际的文件路径. 如果您要启用 ReadonlyProtection 请用类似 "/tmp/xcache" 的路径. 2 组 php 不该共用同一个路径 (/dev/zero 除外).
-
-
/* XCache Optimizer */
-
//Name Default Changeable
-
-
xcache.optimizer boolean
-
//启用优化器 (目前无效).
3、最重要的参数是xcache
.var_size和xcache.size,可以根据内存设置,但是在top中,内存占用直接多出来很多,比如都设置了为256M,则php-cgi的占用就在530M左右,基本的php大约10-15M,加上512M,就快到530了。
4、admin配置后,可以使用xcache自带的admin程序。
二、函数说明:
1、数据函数()
mixed xcache_get(string name)
bool xcache_set(string name, mixed value [, int ttl])
bool xcache_isset(string name)
bool xcache_unset(string name)
bool xcache_unset_by_prefix(string prefix)
//低版本没有这个函数,使用之前要测试一下
int xcache_inc(string name [, int value [, int ttl]])
//自增函数,value为步长,如果没有初始化,则默认为零,ttl为过期时间
int xcache_dec(string name [, int value [, int ttl]])
//自减函数,同上
注意:xcache不能存放对象、资源等内容。
2、管理函数:
int xcache_count(int type)
//type值定义为宏,返回值为把指定的共享内存分为多少份,见xcache.count配置参数
XC_TYPE_PHP: Cache Type = php opcode
XC_TYPE_VAR: Cache Type = variable data
array xcache_info(int type, int id)
//返回值:为数组:
array xcache_list(int type, int id)
//返回值:
- array(2) {
-
["cache_list"]=> //缓存列表
-
array(78) {
-
[0]=>
-
array(7) {
-
["size"]=> //大小
-
int(107952)
-
["refcount"]=> //引用次数
-
int(0)
-
["hits"]=> //命中次数
-
int(0)
-
["ctime"]=> //创建时间
-
int(1306710407)
-
["atime"]=> //存在时间
-
int(1306710407)
-
["hvalue"]=>
-
int(1257)
-
["name"]=> //名称
-
string(9) "my_var100"
-
}
-
[1]=> ......
-
-
["deleted_list"]=> //删除列表
-
array(0) {
-
}
-
}
void xcache_clear_cache(int type, int id)
string xcache_coredump(int op_type)
三、
- Cache 帮助
-
-
槽:
-
Hash 槽个数, 对应 php.ini 里的设置
-
大小:
-
共享内存区大小, 单位: 字节
-
剩余:
-
可用内存, 对应共享内存区的剩余内存字节数
-
%:
-
百分比, 条状显示可用内存的比例
-
清除:
-
清除按钮, 点击按钮清除对应共享内存区的数据
-
编译中:
-
编译标记, 当共享内存区正在编译 php 脚本时标记为 "yes"
-
命中:
-
共享内存命中次数, 命中=从该共享内存载入php或者变量
-
错过:
-
共享内存错过次数, 错过=请求的php或者变量并不在该共享内存内
-
阻塞:
-
编译阻塞跳过, 阻塞=当需该共享内存区负责编译时, 其他进程/现成无法访问此共享内存. 跳过=XCache 自动判断阻塞的共享内存区自动跳过阻塞等待, 直接使用非共享内存方式继续处理请求
-
内存不足:
-
内存不足次数, 显示需要存储新数据但是共享内存区内存不足的次数. 如果出现太频繁请考虑加大配置中的 xcache.size 或者 xcache.var_size
-
错误:
-
编译错误, 显示您的脚本被编译时出错的次数. 如果您发现这个数字不断增长, 您应该检查什么脚本产生错误. 参考 ini.error-log and ini.display-errors
-
保护:
-
显示该 Cache 是否支持并启用 readonly_protection
-
缓冲:
-
共享内存于该共享内存区的项目条数
-
待删:
-
共享内存区内将要删除的项目 (已经删除但是还被某些进程占用)
-
GC:
-
垃圾回收的倒计时
-
空闲块:
-
共享内存区内的空闲内存块
-
-
List 帮助
-
-
项目:
-
项目名或者文件名
-
命中:
-
该项目被命中的次数 (从共享内存区载入)
-
引用数:
-
项目依然被其他进程占据的引用次数
-
大小:
-
项目在共享内存里占用字节数
-
源大小:
-
源文件大小
-
修改:
-
源文件最后修改时间
-
设备:
-
源文件所在设备ID
-
Inode:
-
源文件的inode
-
访问:
-
最后访问该项目的时间
-
创建:
-
该项目被创建于共享内的时间
四、Coverager Functions和
阅读(9613) | 评论(0) | 转发(0) |