Cassandra初始查询因并发性而变慢

时间:2014-05-26 14:16:18

标签: c# multithreading concurrency cassandra datastax

我将大约36kb数据的1000个插入到四节点Cassandra集群中。客户端使用最新的DataStax驱动程序用C#编写。

我正在调整线程(TPL任务)来执行此操作,共享C *会话。在我开始计时插入之前,我每个线程执行一次阻塞读取(来自与插入相同的键空间,在空表上),尝试唤醒/预热池/等。线程池在进程开始时有~1000个普通线程和io线程。

我遇到的主要问题是,随着线程数的增加,唤醒时间会花费很长时间。会话是在这些时间之外创建的 - 这是每个线程执行一个选择查询的时间。

Threads  Time(s)
1        0
2        0
4        0
8        1
16       5
32       17
64       52
128      112

一旦线程/连接池/唤醒了什么,插入就会快速执行。为什么第一次查询需要这么长时间?有没有人见过这种行为?

0 个答案:

没有答案