【发布时间】:2012-08-29 22:31:58
【问题描述】:
我在我的服务器上运行 10 家商店,并在 apc.ini 中使用推荐的设置设置了 APC。
extension = apc.so #name 取决于您的 APC 缓存安装 [APC] apc.enabled = 1 # 开启 APC 缓存 apc.optimization = 0 # 实验性保留 apc.shm_segments = 1 # 共享内存段 apc.shm_size = 128 # 最大共享内存取决于操作系统 apc.ttl = 7200 apc.user_ttl = 7200 apc.num_files_hint = 1024 apc.mmap_file_mask = /tmp/apc.XXXXXX apc.enable_cli = 1 # 允许命令行 php 运行 apc.cache_by_default = 1 # 启用,过滤器为 0 apc.max_file_size = 10M # 最大缓存文件大小 apc.stat = 1 # 1代表开发,0代表生产,是否检查源文件的mod日期 #apc.include_once_override = 1 # 使用 PHP5.3+ 进行 include_once 优化它运行良好,点击率约为 99%,而且网站似乎运行良好。但在某些时候我的
shm.size 耗尽,所有 100% 的内存都被使用了。这导致所有商店停止工作,在第 0 行显示内存池错误。
然后我将该特定变量的大小增加到 1GB,从而使所有网上商店都可以正常运行。
所以我的问题是每个网店设置的 shm.size 的优化值是多少,如果我有 20 家商店,那么值应该增加 20 的倍数。
【问题讨论】:
-
你必须测量它,因为我们真的不知道你在缓存什么,也无法估计
-
Okai 很公平,但我如何衡量它。我已经让 apc.php 运行和工作了,我可以看到数据,但是每个网站我将如何查看这些数据来给我一个“粗略”的数字。
-
首先看到 magento sys 要求,公平猜测它会尝试缓存内存中的内容,因此请先尝试使用推荐的内存限制,然后再深入了解缓存的内容以及缓存的大小。