我在Nginx上运行了Magento,PHP-FPM,Varnish& APC设置。
APC在碎片和清除率方面都处于高位。
碎片在2小时内增加> 50%并缓慢变为100%。
更令人不安的是,Munin表明清洗率几乎都是100%。
我试图将shm大小增加到1G(APC通常使用大约200M,总RAM为6G)这没有帮助,并试图调整ttl:s没有任何运气。
清漆中是否存在导致APC持续清除的问题?
这是我的APC.ini
extension = apc.so
apc.enabled=1
apc.shm_segments=1
apc.shm_size=1024M
apc.num_files_hint=10000
apc.user_entries_hint=10000
apc.max_file_size=5M
apc.stat=0
apc.enable_cli = 1
apc.optimization=0
apc.cache_by_default=1
apc.slam_defense=0
apc.include_once_override=0
apc.ttl=3600
apc.user_ttl=7200
apc.gc_ttl = 600
apc.php:
**File Cache Information**
Cached Files 1053 ( 58.1 MBytes)
Hits 40172
Misses 1038
Request Rate (hits, misses) 102.26 cache requests/second
Hit Rate 99.68 cache requests/second
Miss Rate 2.58 cache requests/second
Insert Rate 10.41 cache requests/second
Cache full count 0
**User Cache Information**
Cached Variables 74 ( 1.2 MBytes)
Hits 374
Misses 5907
Request Rate (hits, misses) 15.59 cache requests/second
Hit Rate 0.93 cache requests/second
Miss Rate 14.66 cache requests/second
Insert Rate 0.18 cache requests/second
Cache full count 0
答案 0 :(得分:1)
我发现有效保持APC理智的一个技巧是将gc_ttl
设置为600,但保持ttl
为0.这样效率较低,理论上可能导致踩踏非常繁忙的网站,但它停止碎片建立。您还需要确保不要在缓存中放置太多东西(即分配足够的内存)来降低清除率。
这可能听起来违反直觉,但这就是我今天在服务器上切换到这种方法时发生的事情:
This munin plug-in非常适合监控APC如何随时间变化,比尝试解密apc状态页更好。