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

如何提高cassandra的写性能?

扈昀
2023-03-14

我有一个名为Emails的列族,我正在将邮件保存到这个CF中,编写5000封邮件需要100秒。

我使用的是i3处理器,8gb内存。我的数据中心有6个节点,复制因子=2。

我们存储在卡桑德拉中的数据大小会影响性能吗?影响写入性能的所有因素是什么,如何提高性能

预先感谢..

共有2个答案

万俟超
2023-03-14

先用cassandra http://www . datas tax . com/products/datas tax-enterprise-visual-admin找出Cassandra所用的时间

您还可以使用

./nodetool cfstats

收集其中每个键空间和表的统计信息。

在我看来,你的作家就像其他人指出的那样慢。

司徒阳曜
2023-03-14

您询问的一些因素是:

    < li >客户端和集群之间以及集群中机器之间的连接速度和延迟(如@omnibear所述) < li >您正在使用的复制因素-如果您一个接一个地插入电子邮件,复制因素可能会影响单个操作的延迟,从而导致总时间增加;我的意思是——你可以考虑批处理写操作。 < li >您写道您使用i3/8gb -这是客户机还是服务器的配置?服务器计算机的配置,尤其是内存量和在其上运行的其他进程,显然会影响性能 < li >提交日志和数据文件位置-建议将提交日志放在与数据文件不同的物理磁盘上 < li >压缩策略——我敢打赌,在您的情况下这并不重要,但通常它也会影响写入性能;Cassandra首先将数据写入memtable和commit log,然后将commit log刷新到sstables,最后合并sstables(这就是所谓的压缩);可以调整该过程的参数,以提高特定用例中的性能;您可以在此阅读C*中的写入路径 < li >您还可以浏览有关性能的优秀DataStax文档注释:(http://www . datastage . com/documentation/Cassandra/2.0/Cassandra/DML/DML _ throughput _ c . html),(http://www . datastage . com/documentation/Cassandra/2.0/Cassandra/operations/ops _ tune _ html)和(http://www . datastage . com/documentation/Cassandra/2.0/Cassandra/operations _ tune _ c . html)

顺便说一句,也许您应该考虑将复制因子增加到3,因为rf=2不会给你带来太多好处——如果您使用一致性级别= quorum,并且一个节点发生故障,您将无法使用您的集群;如果您决定在cl=quorum的情况下使用rf=3,那么如果您想要实现强一致性,您仍然必须对2个节点进行读/写,但是此外,丢失一个节点不会使集群不可用。

 类似资料:
  • 问题内容: 我在公司中多次设计数据库。为了提高数据库的性能,我只寻找标准化和索引。 如果要求您提高数据库的性能,该数据库包含大约250个表以及一些具有数百万个记录的表,那么您将寻找什么不同的东西? 提前致谢。 问题答案: 优化逻辑设计 逻辑级别是关于查询和表本身的结构。首先尝试最大程度地发挥这一作用。目标是在逻辑级别上访问尽可能少的数据。 拥有最高效的SQL查询 设计支持应用程序需求的逻辑架构(例

  • 问题内容: 我有2张桌子,和。用户可以有很多游戏。我需要所有有人数的人,以及他们的人数(有专栏的)。 附言:我需要将所有数据加载到管理表中。由于游戏太多。我决定对数据进行分页和限制。但是,甚至限制以下查询也需要花费相同的时间。如何更好地查询? 问题答案: 您可以在下面尝试使用表达式

  • 我有一个简单的任务:确定需要多少字节来将某个数字(字节数组长度)编码到字节数组并编码最终值(实现本文:编码长度和值字节)。 最初我写了一个快速完成任务的方法: 这是一段旧代码,编写方式很糟糕。 现在我正在尝试使用按位运算符或类来优化代码。这是按位版本的示例: 以及类的最终实现: 所有方法都按预期工作。我使用秒表类页面中的一个示例来衡量性能。性能测试让我惊讶。我的测试方法执行了1000次该方法的运行

  • 我正在编写spring批处理,它从平面文件中读取数据,很少进行处理,并将摘要写入输出文件。与reader相比,我的处理器和写入程序相对更快。我正在使用FlatFileItemReader,并尝试了从50-1000开始的各种提交间隔。我的批处理作业必须以更快的速度处理1000万条记录。请告诉我如何提高FlatFileItemReader的速度。粘贴到我的配置文件和映射器类下面,读取字段集并将值设置为

  • 我有一个包含大约 5 亿条记录的 cassandra 表(在 6 个节点中),现在我正在尝试在 Amazon EMR 中使用 spark-cassandra-connector 插入数据 表结构 以下是我的火花提交选项 但是在日志中,我看到写入 Cassandra 大约需要 4-5 分钟才能加载 200,000 条记录(而总执行时间为 6 分钟) 我还在Spark conf中添加了以下内容 但仍然

  • 大家好,已经有人问过类似的问题,但我想我们有点不同的问题: 我们使用Cassandra 2.2.6一个节点安装(并将升级到最新的)。现在我们有可怕的查询时间,有时会写超时。 为了进行比较,有一个不同的表包含大约10万条记录,其构造与上述非常相似 区别在于第一个包含大量地图和UDT。在dev center中进行简单测试选择*from。。。限制999;(省略任何Lucene索引等)最后一个显示183m