Apache-Pulsar 吞吐量

Posted

技术标签:

【中文标题】Apache-Pulsar 吞吐量【英文标题】:Apache-Pulsar Throughput 【发布时间】:2020-04-10 20:43:13 【问题描述】:

我在本地机器上独立运行 apache-pulsar 作为 docker 容器,用于排队系统并将 1000 个作业推送到一个主题(比如说“演示”)。

如果我有 1 位消费者正在收听“演示”主题并处理作业并确认(在 100 毫秒 - 500 毫秒内)。所有工作在大约 80 秒内完成。

但如果我对更多消费者(2 或 4 个消费者)进行相同的 1000 个作业测试,则总体吞吐量保持不变,大约 80 秒。

我不确定我是否缺少一些需要的配置,或者是否需要多个 pulsar 代理,或者我应该怎么做,如果我增加消费者,消费吞吐量也应该增加(如果有 2 个消费者,大约需要 40-45 秒)。

Docker 镜像:apachepulsar/pulsar

消费者选项: "subscriptionType": "共享", “接收者队列大小”:100, "ackTimeoutMillis": 1200000

谢谢!

【问题讨论】:

【参考方案1】:

您确定您实际上在运行多个消费者吗?它们在多个容器中吗?虚拟机?服务器?每人收到多少?

他们是在使用异步还是同步?

https://pulsar.apache.org/docs/en/concepts-messaging/

什么版本的 NodeJS?什么版本的客户端?什么版本的 Pulsar?

https://pulsar.apache.org/docs/en/client-libraries-node/#consumers

尝试将队列大小增加到 1000

要在一个地点接触所有 Pulsar 人,请报名参加峰会。

https://streamnative.io/en/blog/community/2021-09-07-speakers-announced-for-pulsar-virtual-summit-europe-2021/

【讨论】:

【参考方案2】:

只要消费者没有限制,就可以有多个消费者。 消费者可以从生产者那里获得所需的证书文件,消费者可以命名订阅名称。并且可以检查实际连接了哪些消费者。

【讨论】:

以上是关于Apache-Pulsar 吞吐量的主要内容,如果未能解决你的问题,请参考以下文章

有啥区别:DRAM 吞吐量与全局内存吞吐量

关于并发和吞吐量

吞吐量优先和并发收集

使用iPerf进行网络吞吐量测试

使用ZeroMq源测试Kuiper吞吐量

系统的吞吐量是指啥?