首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >优化3节点8核/16G Cassandra群集的写入性能

优化3节点8核/16G Cassandra群集的写入性能
EN

Stack Overflow用户
提问于 2016-01-05 12:34:29
回答 1查看 573关注 0票数 1

我们设置了一个3节点的性能集群,每个集群有16G内存和8个内核。我们的用例是向包含101列的单个表中写入100万行,目前写入操作需要57-58分钟。我们在集群上优化写入性能的第一步应该是什么?

EN

回答 1

Stack Overflow用户

发布于 2016-01-05 13:02:45

我要做的第一件事是查看执行写入的应用程序:

  1. 应用程序是用什么语言编写的,它使用的是什么驱动程序?一些驱动程序可以提供比其他驱动程序更好的固有性能。例如,Python、Ruby和Node.js驱动程序可能只使用一个线程,因此可能需要考虑运行应用程序的多个实例(每个内核1个)。你的问题被标记为“spark-cassandra-connector”,所以可能表明你正在使用它,它使用的是datastax java驱动程序,它应该作为一个实例执行得很好。
  2. 是异步写入还是一次写入一个数据?它并发执行多少次写操作?过多的并发写入可能会在Cassandra中造成压力,但不会有太多的并发写入会降低吞吐量。如果你正在使用spark连接器,你是在使用saveToCassandra/saveAsCassandraTable还是别的什么?
  3. ,你是在使用批处理吗?如果是,每批要插入/更新多少行?太多的行会给cassandra带来很大的压力。此外,您的所有插入/更新操作是否都将发送到批处理中的同一分区?
  4. Spark Connector Specific:您可以调整写入设置,如批处理大小、批处理级别(即按分区或按副本集)、每个内核的写入吞吐量等。您可以在here.

上查看所有这些设置

我要查看的第二件事是查看每个节点上cassandra端的指标。

  1. 垃圾收集指标是什么?您可以通过取消注释conf/cassandra-env.sh (As shown here)中的行来启用GC日志。Are Your Garbage Collection Logs Speaking to You?。你可能需要调整你的GC设置,如果你使用的是8 GC的堆,默认设置通常是很好的。
  2. 你的cpu和磁盘利用率是否表明你的系统负载很重?您的硬件或配置可能会限制您的能力,像nodetool cfhistogramsnodetool proxyhistograms这样的Selecting hardware for enterprise implementations
  3. Commands将帮助您了解请求花费的时间(代理直方图)和in直方图(特别是延迟)可以让您洞察处理请求所需时间与执行变异操作之间的任何其他可能的差异。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34604197

复制
相关文章

相似问题

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