【问题标题】:What is the exact meaning of read latencies in opscenteropscenter中读取延迟的确切含义是什么
【发布时间】:2018-03-20 03:46:47
【问题描述】:

我们有 OpsCenter 6.1,我正在查看性能运行的许多指标(我们实际上是在尝试查看对 SSD 进行条带化是否可以提高性能)。当他们运行测试时,我看到 O/S 磁盘读取延迟

【问题讨论】:

  • cassandra 开源项目使用read latency 来描述集群响应请求所花费的时间。但无法与 DS 企业通话。
  • 需要注意一些延迟点。应用程序、协调节点和本地节点的延迟。根据查询的类型和一致性,此处也会有所不同。例如,如果您正在运行按分区键选择与选择 *.另外,您如何测量磁盘延迟?
  • 我有一些用于磁盘延迟的工具 - 其中之一是 OpsCenter(它们具有 o/s 磁盘延迟测量)。我也在每秒运行“iostat”以观看该级别。他们看起来很体面。但是,就像我提到的那样,当您查看时,我猜想是“响应”,延迟很大(300ms-500ms)。网络流量约为 20MB-30MB/秒,通过网络配置很容易维持,但吞吐量不是我所追求的。

标签: cassandra datastax-enterprise


【解决方案1】:

所以我没有使用 datastax-enterprise,对此我无话可说。它可能值得了解 cassandra 读取路径:

  • 担任协调员。最好的情况是从您的 RF=5 中最多 3 个节点请求结果。
  • 查看密钥缓存(内存请求,如果未加载到内存中)
  • 将布隆过滤器加载到内存中并运行布隆过滤器以验证数据是否在 SSTable 中
  • 查看墓碑。
  • 加载并使用 SSTable 中的索引来尝试查找您的行在 sstable 中的位置。
  • 加载行/行范围。

如果这是一个仲裁请求,它将在多个节点上执行此操作。如果节点不同意结果,它将运行读取/修复。

我个人不会相信 Datastax 企业的指标来衡量您的读取延迟。相反,我会尝试从您的应用程序层测量响应时间。

您可能需要考虑的调整:

  • 增加密钥缓存的内存空间
  • 增加布隆过滤器的内存空间,从而减少它们被驱逐的频率
  • 如果您从 SSTable 行缓存的开头/结尾读取可能会有所帮助。
  • 如果您看到很多墓碑,您可以更频繁地修复并减少您的gc_grace_seconds

【讨论】:

  • DSE 的延迟测量与 COSS 中使用的相同。虽然测量应用程序的延迟是一个很好的整体策略,但您仍然需要 proxyhistogramscfhistorgrams 用于协调器和表延迟,以缩小可能出现瓶颈的位置
猜你喜欢
  • 1970-01-01
  • 2011-12-14
  • 1970-01-01
  • 2016-01-05
  • 2017-04-19
  • 2011-05-06
  • 2013-07-22
  • 2010-11-05
相关资源
最近更新 更多