【问题标题】:Max connection per host in Cassandra DriverCassandra 驱动程序中每个主机的最大连接数
【发布时间】:2018-11-15 23:51:16
【问题描述】:

在 Cassandra 驱动程序中增加 每个主机的最大连接数会不会有问题?

目前我设置为 2(默认),我可以看到 Cassandra 中没有“请求超时”错误,但是当我将其增加到 32 时,我看到 Cassandra 中的请求超时错误,我相信增加连接应该会更好性能为什么它表现得很奇怪?

在 Cassandra 驱动程序中增加每个主机的最大连接数有什么影响?

卡桑德拉:3.0.8
驱动程序:c++

【问题讨论】:

    标签: c++ cassandra datastax cassandra-3.0


    【解决方案1】:

    除非您的池异常繁忙,否则增加连接数可能只会使问题变得更糟(1 个连接可能会并行处理数千个请求)。默认值对于大多数用例来说是非常理想的,而且很少需要更改它们。

    请求超时更有可能是您的数据模型或某些资源不足造成的。

    【讨论】:

    • 我的观点是增加连接导致客户端驱动程序中的请求超时,但是当我将其设置为 2 默认值时,客户端没有请求超时,根据我的研究,增加连接超时应该会增加问题在服务器端,但我在客户端遇到了问题,为什么会这样?
    • 在客户端增加连接超时会有什么后果?
    • Request Timeout 是服务器返回的错误,而不是客户端。您可能会因为资源不足(cpu、内存、磁盘、jvm 堆压力等)而使协调器超载,并且添加连接会使情况变得更糟。
    • 如果它是来自服务器的错误而不是为什么它没有记录在服务器日志中?这是客户端的错误。
    • Cassandra 不会记录每个错误或单个请求的详细信息,因为它旨在每秒处理数百个数千个请求。您可以查看一些指标来查看超时和超时率,但它不会将单个指标放在日志文件中。想象一下一个 2 秒的 GC 会突然超时 1000 个请求,在 system.log 中会是什么样子?超时从协调器返回给客户端,客户端向上传播。
    猜你喜欢
    • 2017-07-05
    • 2018-10-18
    • 1970-01-01
    • 2013-12-23
    • 2017-09-10
    • 2021-05-01
    • 1970-01-01
    • 2017-08-07
    • 2018-07-16
    相关资源
    最近更新 更多