Cassandra Datastax 最优池化选项
Cassandra Datastax Optimal PoolingOptions
我正在使用 cassandra 作为后端开发 spring/java webapp;该应用程序可能会同时被数百名客户使用。
我看到默认的 Cluster PoolingOptions 连接池设置(使用协议 v3)是:
LOCAL hosts: core = max = 1
REMOTE hosts: core = max = 1
默认的 maxRequestsPerConnection 设置(使用协议 v3)是:
1024 for LOCAL hosts, and 256 for REMOTE hosts.
这些默认设置是否足以满足我们的使用要求?
如果没有,我可以从哪些池选项开始?
我建议使用默认值 PoolingOptions
。除非你有充分的理由,否则真的不应该去碰它。
请注意,配置是每个主机,而不是整个集群。
此外,默认情况下,cassandra 一次仅处理 128 个本机传输请求 (native_transport_max_threads),因此配置 PoolingOptions
以处理每个连接超过 1024 个请求的实用性很低。
最后,在节点数量较少的基准测试和高吞吐量场景中,将每台主机的连接数增加到大约 8 可以显示出吞吐量的一些改进,但随着您添加更多 C* 主机,这种改进变得微不足道.
我正在使用 cassandra 作为后端开发 spring/java webapp;该应用程序可能会同时被数百名客户使用。
我看到默认的 Cluster PoolingOptions 连接池设置(使用协议 v3)是:
LOCAL hosts: core = max = 1
REMOTE hosts: core = max = 1
默认的 maxRequestsPerConnection 设置(使用协议 v3)是:
1024 for LOCAL hosts, and 256 for REMOTE hosts.
这些默认设置是否足以满足我们的使用要求?
如果没有,我可以从哪些池选项开始?
我建议使用默认值 PoolingOptions
。除非你有充分的理由,否则真的不应该去碰它。
请注意,配置是每个主机,而不是整个集群。
此外,默认情况下,cassandra 一次仅处理 128 个本机传输请求 (native_transport_max_threads),因此配置 PoolingOptions
以处理每个连接超过 1024 个请求的实用性很低。
最后,在节点数量较少的基准测试和高吞吐量场景中,将每台主机的连接数增加到大约 8 可以显示出吞吐量的一些改进,但随着您添加更多 C* 主机,这种改进变得微不足道.