0

我正在使用 Datastax python 驱动程序版本:3.23

Cassandra 版本:DSE 版本 5.1.16

cqlsh 的输出如下:

[cqlsh 5.0.1 | Cassandra 3.11.3.5116 | DSE 5.1.16 | CQL spec 3.4.4 | Nativeprotocol v4]

cluster = Cluster(['X.X.X.X'],port=9042,auth_provider=provider,protocol_version=4)
max_requests = cluster.get_max_requests_per_connection(0)
max_connections = cluster.get_max_connections_per_host(0)
print(max_connections)
print(max_requests)

输出:-

8 100

根据 DataStax 文档max_request_per_host in v4,应该是 32,786。

不确定问题出在哪里。

发现java驱动器的类似问题。

4

1 回答 1

0

每个连接 32k 的请求是理论上的最大值 - 这不是实际数量。每个驱动程序都有一些常数作为每个连接的最大请求数。例如,Java 驱动程序允许每个连接 1024 个请求,C# - 2048 等。

cluster.set_max_requests_per_connection您可以使用for Python 驱动程序或其他驱动程序中的相应函数来增加此值。但我不建议大幅增加它 - 如果您有太多正在进行的请求,这表明您的集群无法应对负载,并且通过增加设置您只是隐藏了真正的问题。

于 2020-06-10T08:32:29.550 回答