首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache Cassandra在繁重的读取负载下崩溃

Apache Cassandra在繁重的读取负载下崩溃
EN

Stack Overflow用户
提问于 2015-10-12 15:07:09
回答 2查看 970关注 0票数 2

我一直在开发一个同时需要定期写入和大量读取的应用程序。

应用程序存储了几个文本列,这些列的大小不是很大,其中的映射是表中最大的列。

在Scala (下面是Datastax Java驱动程序)中使用Phantom-DSL时,我的应用程序在数据大小时崩溃。

这是我的应用程序中的一个日志。

代码语言:javascript
复制
[error] - com.websudos.phantom - All host(s) tried for query failed (tried: /127.0.0.1:9042 (com.datastax.driver.core.OperationTimedOutException: [/127.0.0.1:9042] Operation timed out))

这是cassandra logs

我把Cassandra日志放在一个粘贴盒里,因为它们太大了,不能嵌入答案中。

我似乎不能理解这次崩溃的原因。我已经尝试增加超时并关闭行缓存。

据我所知,这是一个基本问题,可以针对这种特殊情况通过调整cassandra来解决。

我的cassandra使用来自不同的数据源。所以写操作并不是很频繁。但是读取的大小很大,因为一次可能需要超过300K行,然后需要通过HTTP传输。

EN

回答 2

Stack Overflow用户

发布于 2015-10-13 05:10:01

日志显示显著的GC压力(ParNew为5秒)。

当您说“读取很大,因为一次可能需要超过300K行”时,您的意思是在单个查询中提取300k行吗?Datastax驱动程序支持本机分页-将fetch大小设置得更低(500或1000),并允许它在这些查询中分页,而不是试图在一次传递中加载所有300k行?

票数 1
EN

Stack Overflow用户

发布于 2015-10-12 18:56:45

映射(以及一般的集合)对Cassandra堆空间的要求可能非常高。更改数据模型以将映射替换为另一个表可能会解决您的gc问题。但由于缺乏关于您的Cassandra使用的更多细节,这是许多猜测。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33075119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档