在POST _cache / clear上真正发生了什么?

时间:2017-02-10 16:50:11

标签: elasticsearch

很抱歉,如果我的问题很简单,因为我不熟悉ES。

如果在clear cache来电之间我stats,我应该如何解释query_cache值?

// GET _cluster/stats
{
    ...
    "indices": {
        ...
        "query_cache": {
            "memory_size_in_bytes": 229449664,
            "total_count": 19146885372L
            "hit_count": 18430071,
            "miss_count": 19128455301L,
            "cache_size": 4101,
            "cache_count": 126089,
            "evictions": 121988
        }
    ...
    }
    ...
}

// POST _cache/clear

// GET _cluster/stats
{
    ...
    "indices": {
        ...
        "query_cache": {
            "memory_size_in_bytes": 0,
            "total_count": 19146885372L
            "hit_count": 18430071,
            "miss_count": 19128455301L,
            "cache_size": 0,
            "cache_count": 126089,
            "evictions": 121988
        }
    ...
    }
    ...
}

您可以看到memory_size_in_bytescache_size已归零。那是什么意思?为什么cache_count没有被更改?

1 个答案:

答案 0 :(得分:3)

以下是每个值的简短说明:

  • memory_size_in_bytes是缓存中查询占用的内存量
  • total_count是缓存中的查找总数(= hit_count + miss_count
  • hit_count是缓存HIT的总数
  • miss_count是缓存MISS的总数
  • cache_size是当前缓存中的查询总数
  • cache_count是到目前为止的缓存查找总数(= cache_size + evictions
  • evictions是已从缓存中逐出的查询总数

因此,当您清除缓存时,您唯一能够清楚清楚的是内存(即memory_size_in_bytes)和缓存查询的数量(即cache_size)。清除其他值是没有意义的,因为它们只是计数器。