session.executeasync的查询限制是多少?

vltsax25  于 2021-06-15  发布在  Cassandra
关注(0)|答案(1)|浏览(344)

cassandra对可以提交多少查询有限制吗 Session.executeAsync ? 如果我有一百万个select语句,我可以打电话给 executeAsync 在一个 for 所有这些语句的循环。但我不知道引擎盖下发生了什么。Cassandra会自动批处理这些电话吗?它开始失败了吗?

mwngjboj

mwngjboj1#

这取决于所用协议的版本和打开到主机的连接数。v2协议支持每个连接128个飞行中请求,v3允许每个连接32k个请求(默认值为1000)。创建群集对象时,可以使用pooligoptions.setmaxrequestsperconnection对其进行配置。
但是你不能简单地用每个主机的连接数和飞行中的请求数来表示多个主机的数量,并将其作为最大数量——这是理论上的最大限制,但可能是某些节点处理的请求比其他节点多,而且很容易超过特定节点的限制。您可以在java驱动程序文档中找到有关连接池的更多信息。
最好选择一些最大值,并使用信号量来提交不超过此限制的请求。你可以在这里找到一个例子。

相关问题