Jod*_*tte 6 thrift cassandra nosql
我们仍在为我们的数据存储评估Cassandra.作为一个非常简单的测试,我在本地机器上的Keyspace1/Standard1列系列中插入了4列的值,总计大约100字节的数据.然后我按行键尽快读回来.我能以160,000 /秒的速度读回来.大.
然后我输入了一百万个类似的记录,所有记录都是XY形式的键,其中X在(1..10)和Y在(1..100,000),我查询随机记录.性能下降到每秒26,000个查询.这仍远高于我们需要支持的查询数量(约1,500 /秒)
最后,我从1.1到10.1000000中记录了一千万条记录,随机查询了1000万条记录中的一条.性能非常糟糕,每秒60次查询,而我的磁盘像疯了一样晃来晃去.
我还验证了如果我要求数据的一个子集,比如介于3,000,000和3,001,000之间的1000条记录,它首先会缓慢返回,然后当它们缓存时,它每秒最多可加速20,000次查询,并且我的磁盘停止疯狂.
我已经读到人们在Cassandra中存储数十亿条记录并以每秒5-6k的速度获取它们,但是我只能在10mil的记录下获得它.知道我做错了什么吗?我需要从默认设置中更改一些设置吗?我正在使用带有6gig内存的超频Core i7盒子,所以我不认为这是机器.
这是我的代码,用于获取我正在产生8个线程的记录,以通过行键从一列请求一个值:
ColumnPath cp = new ColumnPath(); cp.Column_family ="Standard1"; cp.Column = utf8Encoding.GetBytes("site"); string key =(1 + sRand.Next(9))+"." +(1 + sRand.Next(1000000)); ColumnOrSuperColumn logline = client.get("Keyspace1",key,cp,ConsistencyLevel.ONE);
感谢您的任何见解