存储和大小指南
编辑存储和大小指南
编辑APM 的处理和存储成本主要取决于事务、跨度和堆栈帧。
典型事务
编辑由于 APM 数据变化很大,很难将事务分类为典型事务。无论如何,本指南将尝试将事务分类为小型、中型或大型,并根据这些分类提出建议。
事务的大小取决于语言、代理设置以及代理检测的服务。例如,使用流行的技术栈(Web 框架、数据库、缓存库等)自动检测服务的代理更有可能生成更大的事务。
此外,所有代理都支持手动检测。您使用这些 API 的多少也会影响典型事务的外观。
如果您的采样率非常小,事务将成为主要的存储成本。
这是一个推测性参考
事务大小 | 跨度数量 | 堆栈帧数量 |
---|---|---|
小型 |
5-10 |
5-10 |
中型 |
15-20 |
15-20 |
大型 |
30-40 |
30-40 |
总会有包含数百个跨度或堆栈帧的事务异常值,但这些非常罕见。小型事务最为常见。
典型存储
编辑请考虑以下典型的存储参考。这些数字不包含 Elasticsearch 压缩。
- 1 个未采样的事务为 ~1 KB
- 1 个包含 10 个堆栈帧的跨度为 ~4 KB
- 1 个包含 50 个堆栈帧的跨度为 ~20 KB
- 1 个包含 10 个跨度的事务,每个跨度包含 10 个堆栈帧为 ~50 KB
- 1 个包含 25 个跨度的事务,每个跨度包含 25 个跨度为 250-300 KB
- 100 个事务,每个事务包含 10 个跨度,每个跨度包含 10 个堆栈帧,采样率为 90% 为 600 KB
APM 数据压缩效果非常好,因此 Elasticsearch 中的存储成本会大大降低。
- 每秒索引 100 个未采样事务,持续 1 小时,会产生 360,000 个文档。这些文档使用大约 50 MB 的磁盘空间。
- 每秒索引 10 个事务,持续 1 小时,每个事务包含 10 个跨度,每个跨度包含 10 个堆栈帧,会产生 360,000 个文档。这些文档使用大约 200 MB 的磁盘空间。
- 每秒索引 25 个事务,持续 1 小时,每个事务包含 25 个跨度,每个跨度包含 25 个堆栈帧,会产生 2,340,000 个文档。这些文档使用大约 1.2 GB 的磁盘空间。
这些示例反复索引相同的数据,变化极小。因此,观察到的 80-90% 的压缩率有些乐观。