【问题标题】:Differences between index/_stats size and du -h size in elasticsearch 6elasticsearch 6中index/_stats大小和du -h大小的区别
【发布时间】:2018-03-26 08:16:21
【问题描述】:

我有一个小问题:

我创建随机 JSON 文件并将它们发送到 elasticsearch。 当我在我的 centos 机器上使用 du -h 检查文件的大小时,当我检查 _stats 部分中的统计数据时,我会发现结果之间存在重大差异。 例如:

文件编号--------du -h size ------ /_stats

100 --------------- 404 kb ---------- 297 kb

1000 ------------- 4096 kb -------- 1200 kb

3000 ------------- 12 MB ------------ 3.3 MB

现在在 elastic 中存储的东西比在 linux 机器上小得多是合理的吗? 为什么差距这么大?

【问题讨论】:

  • 请问您具体如何衡量du -h?是磁盘上发送的 json 的大小吗?

标签: elasticsearch size storage du


【解决方案1】:

你提供的信息很少,所以我们不得不猜测很多。

您可能会谈到许多相同结构的 JSON,它们代表 ElasticSearch 中的文档。然后每个 JSON 将重复有关结构的信息。然后你会在每个 JSON e. G。 { "first_name": <X>, "last_name": <Y>, "phone": <Z> } 而在 ElasticSearch DB 中,该结构每个 index 存储一次,即。 e.所有文档共享结构,因此只需要存储各种<X><Y><Z> 值。

这自然要小得多。

另外,du 为您提供 磁盘使用率,它通常比 数据大小更多,因为在文件系统中,您分配整个块(主要是为了加快速度)所以总是有一定的开销。在一个非常糟糕的情况下,大量文件每个只包含几个字节,每个文件使用一个完整的块,从而大大增加了磁盘使用率。对于具有 8192 字节块的文件系统中的 20 字节文件,系数约为 400!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-07
    • 2018-10-23
    • 2017-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多