【发布时间】:2023-03-22 21:57:01
【问题描述】:
我在 php 5.2 中使用 memcached。上周,我们对我们的网站进行了负载测试,并发生了一个奇怪的问题。我有一个特定的密钥,它在请求中被访问了多次(比如 10-15 次)。在正常站点负载下,它总是会导致命中。
当我们增加负载时,它突然开始丢失(对于一个 8 CPU 机器,平均负载在 30 左右)。每次负载增加时都会发生,负载恢复正常时会停止,并且仅针对此键发生。
以前有没有其他人遇到过这个问题?有解决办法吗?
谢谢
【问题讨论】:
-
增加为 memcache 提供的内存量(在其配置中)。在这种情况下,CPU/内核的数量并不重要。
-
内存量不是问题。超过 50% 是免费的。
-
我说的是为 memcache 提供的内存量。与其他程序相反,memcache 不会使用尽可能多的内存。您说的是服务器总内存的 50% 还是相对于定义的缓存大小?
-
我说的是分配给 memcached 的内存。我们总共分配了 1GB,它正在使用 ~500MB。
-
嗯...这可能是奇怪的应用架构(查看它)、快速缓存失效(增加此条目的缓存超时)或“缓存未命中风暴”-mysqlperformanceblog.com/2010/09/10/cache-miss-storm
标签: php memcached load-testing