【发布时间】:2020-05-14 23:56:56
【问题描述】:
我有一个用例,我使用 gocql 驱动程序连续将数据批量摄取到 Scylla 中,在繁重的写入测试期间,我观察到 Scyllas 写入响应延迟随着时间的推移而增加,有时它会导致 Scylla 节点重新启动,在哪里cassandra 延迟的情况随着时间的推移是恒定的。我只是想知道这个用例的正确配置,这样我就可以在整个时间内实现恒定的延迟。
用于 scylla 集群的配置
writer process 的详细信息基本上它是一个 kafka 消费者。 消费者的流量是
1- 从 kafka 读取 500 条消息
2- 500 个工人(goroutine)开始将它分批写入 scylla(cassandra)(单批包含与单个分区相关的数据)每批包含平均 3k 条记录(最大 => 20k)。(键空间的复制因子为 1 )
3- 更新计数器表 scylla 中的批处理状态。
4- 将这 500 条消息提交给 kafka
5 - 返回第 1 步
soo,基本上在测试中我使用了 3 个消费者。 scylla 无法应对 kafka 的注入速度,而 cassandra 与注入速度相匹配。
分享了 grafana dashborad 的 load test ,如果还有什么需要请告诉我。
[![注入与排出率][1]][1]
[![scylla 内存仪表板][2]][2]
[![scyllaIOqueue][3]][3]
[![ScyllaIo][4]][4]
[![scyllaDiskDetails][5]][5]
[![延迟][6]][6]
[![加载][7]][7]
smp 16
cpuset 0-15
memory 80G
iops
cat /etc/scylla.d/io_properties.yaml
[root@ip /]# cat /etc/scylla.d/io_properties.yaml
disks:
- mountpoint: /var/lib/scylla
read_iops: 265
read_bandwidth: 99796024
write_iops: 1177
write_bandwidth: 130168192
Is there any other config which I missed by which I can achieve constant write latency.
[1]: https://i.stack.imgur.com/o0yQc.png
[2]: https://i.stack.imgur.com/i0RhS.png
[3]: https://i.stack.imgur.com/sA4WY.png
[4]: https://i.stack.imgur.com/5QAob.png
[5]: https://i.stack.imgur.com/6U5UM.png
[6]: https://i.stack.imgur.com/DG2my.png
[7]: https://i.stack.imgur.com/TOtuQ.png
saw this logs in scylla container
WARN 2020-02-05 11:07:54,409 [shard 12] seastar_memory - oversized allocation: 1081344 bytes. This is non-fatal, but could lead to latency and/or fragmentation issues. Please report: at 0x2cf31dd
0x2a1d0c4
0x2a21e8b
0x103d7d2
0x103e298
0x10070c0
0x100cd14
0x10289b8
0x1028057
0x1028f59
0x2a003ac
0x2a50491
0x2a5069f
0x2aba615
0x2acedac
0x2a330ed
/opt/scylladb/libreloc/libpthread.so.0+0x85a1
/opt/scylladb/libreloc/libc.so.6+0xfb302
【问题讨论】:
标签: scylla