gpt4 book ai didi

azure - Azure 事件中心每秒处理 50,000 个事件的分区数和吞吐量是多少?

转载 作者:行者123 更新时间:2023-12-03 04:48:05 26 4
gpt4 key购买 nike

我正在开发一个项目,我们需要每秒处理大约 50000 个事件。我们决定使用 Azure 事件中心。目前,我正在做 POC 来分析使用 Azure 事件中心的成本。从文档中,我读到了以下内容:

1 TU = 1MB/s 或 1000 个事件(先发生)

我需要决定针对此特定情况应使用多少个具有分区和 TU 的事件中心。事件的最大大小为 256KB。

我决定使用 50 TU 和 10 个事件中心以及 10 个分区。

以上单位是否正确?如何计算成本?

此外,我正在寻找建议以处理大量事件。我们会将这些事件存储在数据库中。

最佳答案

要计算您需要多少分区,我建议使用利特尔定律。我假设处理所有这些 50k 事件都是独立的,并且不涉及锁。

您应该知道成功处理事件所需的平均时间。

例如,假设处理一个事件需要 10 毫秒,因此您可以在单个线程中连续处理 100 个事件/秒。

为了能够处理 50K 事件,您需要同时处理 50000/100 事件 = 500

应用此功能,您的 eventhub 中可以有 500 个分区(eventhub 的 v5-java sdk 将为您提供一个线程/分区)。

我曾经研究过一个类似的用例,其中我们需要支持每秒最多 10K 事件并将其转储到数据库,处理单个事件的平均时间约为 8 毫秒。

因此,在一个线程中,我们每秒可以顺序处理约 125 个事件,并且该事件中心中有 80 (10000/125) 个分区。然后,我们的吞吐量可以达到每秒约 10k 个事件的最大值(数字可能不完全匹配,但它们会接近这个值)。

enter image description here

关于azure - Azure 事件中心每秒处理 50,000 个事件的分区数和吞吐量是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68722653/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com