Apache Ignite 吞吐量、值大小和最大缓存计数?
Posted
技术标签:
【中文标题】Apache Ignite 吞吐量、值大小和最大缓存计数?【英文标题】:Apache Ignite throughput, value size, and max cache count? 【发布时间】:2018-03-17 18:57:17 【问题描述】:我正在考虑使用 Apache Ignite 构建一个服务,该服务可以在 peek 流量下每分钟缓存数十万个音频流。我计划为每个新的音频流创建一个新的“缓存”。我的问题是:
1) Ignite 能否在一分钟内处理数十万个缓存创建/删除?
2) 我可以安全地将音频块作为键值对存储在缓存中,还是不推荐这种吞吐量和大小?每个缓存的音频为 10-100kb。有时我们可能会达到 20GB/分钟左右。
3) 看起来我可以流式传输到 Ignite 并执行连续查询以从 Ignite 流式传输。我的用例对这些功能有效吗?
【问题讨论】:
【参考方案1】:三个问题的答案都是肯定的。
【讨论】:
我刚刚注意到,在容量规划中,他们说每个缓存 20MB。如果我们有 200,000 多个缓存,那么至少 4TB 的内存不计算实际数据。我看到你可以通过设置来减少它,但我不知道 IGNITE_ATOMIC_CACHE_DELETE_HISTORY_SIZE 的确切含义。你能解释一下减少这个数字的影响吗? @user1019182 为什么需要 200,000 多个缓存?此时您应该重新考虑您的数据模型。 @user1019182 如果所有缓存都属于同一个缓存组,那么每个组的开销只有 20MB。更多关于缓存组的信息:apacheignite.readme.io/docs/cache-groups @user1019182 我同意另一个评论,即 200,000 个缓存太多了。您应该考虑一下 Ignite 缓存是 RDBMS 表 - 您的数据库中有 200,000 个表吗? 哦,我明白了!因此,如果我将所有 200,000 个缓存都设为同一组的一部分,那么这应该不是问题。我们将每分钟创建(并过期)200,000 个缓存。缓存将保存来自数十万个随机存储音频的设备的音频。以上是关于Apache Ignite 吞吐量、值大小和最大缓存计数?的主要内容,如果未能解决你的问题,请参考以下文章