Gre*_*man 17 wordpress opcode-cache apc opcode fragment-caching
这是我的APC如何运行的链接:[已删除]
正如你所看到的,它很快就会填满,我的Cache Full Count有时会超过1000
我的网站使用Wordpress.
我注意到,每次我发布新帖子或编辑帖子时,都会发生两件事.
1)APC内存"USED"重置2)我得到了很多碎片
我试过给APC提供更多的内存(512 mb),但有时会崩溃,看来384是最好的.我还有一个Cron作业,每4小时重新启动一次apache,清除所有APC片段并使用内存.再说一次,如果APC运行了很长一段时间,我的apache会崩溃,我认为由于片段的堆积.
我应该使用apc.Filters并过滤掉一些不应该缓存的东西吗?
我真的很喜欢这种东西,所以如果有人可以用完整的说明解释,非常感谢你!
J. *_*ker 41
我作为Linux系统管理员工作,wordpress服务器运行5个不同的WordPress安装.如果您只运行一个,我将评论要考虑的配置.
APC/PHP版本,3.1.9/5.3.7
这是我完整的apc.conf,
apc.enabled=1
apc.shm_segments=1
; I would try 32M per WP install, go from there
apc.shm_size=128M
; Relative to approx cached PHP files,
apc.num_files_hint=512
; Relative to approx WP size W/ APC Object Cache Backend,
apc.user_entries_hint=4096
apc.ttl=7200
apc.use_request_time=1
apc.user_ttl=7200
apc.gc_ttl=3600
apc.cache_by_default=1
apc.filters
apc.mmap_file_mask=/tmp/apc.XXXXXX
apc.file_update_protection=2
apc.enable_cli=0
apc.max_file_size=2M
;This should be used when you are finished with PHP file changes.
;As you must clear the APC cache to recompile already cached files.
;If you are still developing, set this to 1.
apc.stat=0
apc.stat_ctime=0
apc.canonicalize=1
apc.write_lock=1
apc.report_autofilter=0
apc.rfc1867=0
apc.rfc1867_prefix =upload_
apc.rfc1867_name=APC_UPLOAD_PROGRESS
apc.rfc1867_freq=0
apc.rfc1867_ttl=3600
;This MUST be 0, WP can have errors otherwise!
apc.include_once_override=0
apc.lazy_classes=0
apc.lazy_functions=0
apc.coredump_unmap=0
apc.file_md5=0
apc.preload_path
Run Code Online (Sandbox Code Playgroud)
@Chris_O,您的配置在某些方面并不是最优的.
1. apc.shm_segments = 3
如果你运行一个现代的Linux发行版,你的SHM应该足够大.如果它太小,搜索如何设置sysctl.conf条目,你可以这样检查.
#Check Max Segment size
cat /proc/sys/kernel/shmmax
Run Code Online (Sandbox Code Playgroud)
在某些BSD或其他Unix上运行时出现异常,或者是您无法控制的托管主机.没有连续段有缺点,请阅读APC的详细信息.
2. apc.enable_cli = 1
BAD BAD BAD,这仅供调试!每次运行php-cli时,它都会清除APC缓存.
3. apc.max_file_size = 10M
不必要和荒谬!如果你有一个很大的文件,它会吃掉那个小32M SHM的1/3.即使你指定3,它们也不仅仅表现为三个部分中的一个大部分.无论WP甚至没有单个PHP文件,甚至接近那个大小.
"希望我用他们的apc.conf帮助别人.
Chr*_*s_O 10
APC ttl应该负责片段的构建.我通常把它设置为7200.我在使用WordPress的小型VPS上运行它,我的设置是:
apc.enabled=1
apc.shm_segments=3
apc.shm_size=32
apc.ttl=7200
apc.user_ttl=7200
apc.num_files_hint=2048
apc.mmap_file_mask=/tmp/apc.XXXXXX
apc.enable_cli=1
apc.max_file_size=10M
Run Code Online (Sandbox Code Playgroud)
通过使用WordPress的内置对象缓存,Mark Jaquith写了一个非常好的插件,在保存或编辑帖子时也应该帮助解决一些碎片问题,你也可以从中获得更多好处.