gpt4 book ai didi

nosql - Cassandra 随机读取速度

转载 作者:行者123 更新时间:2023-12-04 16:14:29 26 4
gpt4 key购买 nike

我们仍在评估Cassandra用于我们的数据存储。作为一个非常简单的测试,我在本地计算机的Keyspace1/Standard1列系列中插入了4列的值,总计约100字节的数据。然后,我通过行键尽快读取它。我可以以160,000/秒的速度读回它。伟大的。

然后,我以X.Y的形式放入了一百万个类似的记录,它们的键均为X.Y,其中(1..10)中的X和(1..100,000)中的Y,我查询了一个随机记录。性能下降到每秒26,000个查询。这仍然远高于我们需要支持的查询数量(约1,500/秒)

最终,我将1.1到1010万之间的1000万条记录放入其中,并随机查询1000万条记录中的其中一项。每秒60个查询的性能令人震惊,而我的磁盘却像疯了似的rash动着。

我还验证了,如果我要求数据的一个子集,例如3,000,000至3,001,000之间的1,000条记录,它会首先缓慢返回,然后在它们进行缓存时,每秒可以加快多达20,000个查询的速度,并且我的磁盘不再发疯。

我已经读完了所有内容,人们正在Cassandra中存储数十亿条记录,并以每秒5-6k的速度获取它们,但是仅凭1000万条记录就无法实现。知道我在做什么错吗?我需要更改一些默认设置吗?我在超频Core i7盒子上,配备了6gig的ram,所以我不认为这是机器。

这是我的代码,用于获取记录,我将这些记录派生为8个线程,以通过行键从一列中请求一个值:

ColumnPath cp = new ColumnPath();
cp.Column_family =“Standard1”;
cp.Column = utf8Encoding.GetBytes(“site”);
字符串键=(1 + sRand.Next(9))+“。” +(1 + sRand.Next(1000000));
ColumnOrSuperColumn logline = client.get(“Keyspace1”,key,cp,ConsistencyLevel.ONE);

感谢您的任何见解

最佳答案

对于操作系统(和Cassandra,如果您设置键或行缓存)尝试执行的缓存,纯随机读取是最坏的情况。

如果您在Cassandra源代码发行版中查看contrib/py_stress,它具有可配置的stdev以执行随机读取,但其中一些键比其他键更热。这将更能代表大多数实际工作负载。

关于nosql - Cassandra 随机读取速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3061676/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com