AWS Aurora 缓存指标含义

AWS Aurora cache metrics meanings

Aurora 有两个查询缓存相关指标:

http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Monitoring.html

但是我找不到解释 "Buffer cache" 和 "Resultset cache" 之间区别的文档。

它们是什么?

除了我在这里找到的信息外,亚马逊没有太多信息:http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Monitoring.html

缓冲区缓存命中率:缓冲区缓存服务的请求百分比。

结果集缓存命中率:结果集缓存所服务的请求的百分比。

"Resultset Cache Hit Ratio" 与查询缓存有关,该功能可以缓存读取查询的结果(这就是为什么称为结果集缓存命中)。所以,如果引擎开始执行一个新的读取查询,它会在执行查询之前检查缓存的结果,如果它发现之前已经执行过同样的查询并且它的结果还没有失效,那么它将服务来自缓存的新查询的结果。当工作负载包含许多具有相似值和条件的相似 select 查询时,这通常很有用并且显示数量很高。

另一方面,"Buffer Cache Hit Ratio" 与 innodb 页面缓存命中率(而不是查询结果缓存)更相关,并且这应该随着所有类型的读取查询的增加而增加,因为这个过程是由缓冲池预热调用,这将导致引擎将所有需要的页面从存储加载到内存,以便更快地访问数据。然而,随着对写入器的写入量增加,这将使读取器在内存页面中无效,然后在需要时再次从存储中加载这些页面。这里的 "ratio" 取决于命中内存页面的百分比,该百分比应该非常高,例如:超过 99%。

查询缓存通常被认为是低连接数,类似类型的查询一遍又一遍(基于对 mysql/aurora 的一些观察,如果连接数高,查询缓存实际上可能对性能不利和很多特别的风格,不断变化的查询)。