当前位置: 首页 > 知识库问答 >
问题:

卡桑德拉的本地传输请求

龚昊然
2023-03-14

我通过以下链接获得了有关卡桑德拉的本地传输请求的一些要点:卡桑德拉中的本地传输请求是什么?

根据我的理解,我在卡桑德拉执行的任何查询都是本机传输请求。

我经常在Cassandra中收到请求超时错误,我在Cassandra调试日志和使用< code>nodetool tpstats时观察到以下日志

/var/log/cassandra# nodetool tpstats
Pool Name                    Active   Pending      Completed   Blocked  All time blocked
MutationStage                     0         0      186933949         0                 0
ViewMutationStage                 0         0              0         0                 0
ReadStage                         0         0      781880580         0                 0
RequestResponseStage              0         0        5783147         0                 0
ReadRepairStage                   0         0              0         0                 0
CounterMutationStage              0         0       14430168         0                 0
MiscStage                         0         0              0         0                 0
CompactionExecutor                0         0         366708         0                 0
MemtableReclaimMemory             0         0            788         0                 0
PendingRangeCalculator            0         0              1         0                 0
GossipStage                       0         0              0         0                 0
SecondaryIndexManagement          0         0              0         0                 0
HintsDispatcher                   0         0              0         0                 0
MigrationStage                    0         0              0         0                 0
MemtablePostFlush                 0         0            799         0                 0
ValidationExecutor                0         0              0         0                 0
Sampler                           0         0              0         0                 0
MemtableFlushWriter               0         0            788         0                 0
InternalResponseStage             0         0              0         0                 0
AntiEntropyStage                  0         0              0         0                 0
CacheCleanupExecutor              0         0              0         0                 0
Native-Transport-Requests         0         0      477629331         0           1063468

Message type           Dropped
READ                         0
RANGE_SLICE                  0
_TRACE                       0
HINT                         0
MUTATION                     0
COUNTER_MUTATION             0
BATCH_STORE                  0
BATCH_REMOVE                 0
REQUEST_RESPONSE             0
PAGED_RANGE                  0
READ_REPAIR                  0

1) 所有时间阻止状态是什么
2)这个值是什么:1063468表示?它有多有害
3)如何调整?

共有1个答案

翁俊良
2023-03-14

每个请求在被移交给读取/突变阶段之前都由NTR阶段处理,但在等待完成时仍然会阻塞。为了防止过载,该阶段开始阻塞添加到其队列中的任务,以向客户端施加反向压力。每次请求被阻塞时,所有被阻塞的时间计数器都会增加。因此1063468请求曾被阻塞一段时间,因为必须备份许多请求。

在应用程序出现查询高峰的情况下,这种阻塞是不必要的,可能会导致问题,因此您可以使用类似于< code >-dcassandra . max _ queued _ native _ transport _ requests = 4096 (默认为128)的内容来增加这个队列限制。您也可以在客户端限制请求,但我会首先尝试增加队列大小。

也可能有一些异常慢的请求堵塞了您的系统。如果您有监控设置,请查看高百分位数的读/写协调器延迟。您也可以使用nodetool proxyhistogram。您的数据模型或查询中可能存在导致问题的内容。

 类似资料:
  • 我使用的是spring数据cassandra,需要使用jpa映射一个字段,在cassandra中,该字段的类型为

  • 我们运行的cassandra集群有3个节点,复制因子为2。 我们的nodejs服务器是查询这个集群的唯一地方。 是否有其他任何地方的参数设置可能导致不一致的查询? cassandra v2.2.4 nodejs驱动程序v3.0.0 编辑-添加我正在做的事情的示例: 1)检查用户名是否被占用 2)创建用户

  • 我们一直在使用Spark RDD API(Spark 2.0)来处理在Cassandra.Note中建模的数据,这些数据在Cassandra中建模以实现高效的读写。 然而,现在还有SparkSQLAPI,Spark DataFrame API,它也是一种替代的数据访问方法-http://spark.apache.org/docs/latest/sql-programming-guide.html

  • 我用Spring Data Cassandra 2.2.1开发了一个新的应用程序,想在Cassandra 2.1.9服务器上运行它(旧的,我知道)。但是我们得到了错误 Spring数据卡桑德拉手册声称Spring数据2.2.1至少需要卡桑德拉2.1,所以这应该有效,但它没有。我们包含的唯一特定于卡桑德拉的依赖项是 我怎样才能让这个工作?

  • 我有这个代码: 我得到以下异常: 所有主机尝试查询失败(已尝试:/127.0.0.1:9042(com.datastax.driver.core.TransportException:[/127.0.0.1:9042]无法连接)),堆栈跟踪:com.datastax.driver.core.exceptions.NoHostAvailableException:所有主机尝试查询失败(已尝试:/12

  • 我有一个必须添加到采购订单的产品列表。采购订单具有序列号,添加产品后,应更改其状态以指示这些产品已出货。 1 个采购订单中处理的典型产品数为 500。 在DB上-我有2张桌子- 各方面的建议告诉我应该使用多个异步查询。然而,我关心的是整个操作的原子性。鉴于我的要求,请建议什么是最好的前进方式。 先谢谢你。