东京内阁 - 在击中100万后更慢的插入

时间:2009-03-03 14:50:42

标签: tokyo-cabinet

我正在评估东京橱柜表引擎。在达到100万条记录后,插入率大幅下降。批量大小为100,000,在交易中完成。我尝试设置xmsiz但仍然没有用。东京内阁有没有人遇到过这个问题?

详情

  

东京内阁 - 1.4.3
  Perl绑定 - 1.23
  操作系统:Ubuntu 7.10(Windows XP顶部的​​VMWare Player)

3 个答案:

答案 0 :(得分:4)

我每个碎片大约有100万条记录打砖墙(在客户端进行分片,没什么特别的)。我尝试了各种ttserver选项,它们似乎没什么区别,所以我看了一下内核并找到了

echo 80 > /proc/sys/vm/dirty_ratio

(之前的值为10)给出了很大的改进 - 以下是每分钟打印的数据的总大小(每个节点上有8个分片):

total:  14238792  records,  27.5881 GB size
total:  14263546  records,  27.6415 GB size
total:  14288997  records,  27.6824 GB size
total:  14309739  records,  27.7144 GB size
total:  14323563  records,  27.7438 GB size
(here I changed the dirty_ratio setting for all shards)
total:  14394007  records,  27.8996 GB size
total:  14486489  records,  28.0758 GB size
total:  14571409  records,  28.2898 GB size
total:  14663636  records,  28.4929 GB size
total:  14802109  records,  28.7366 GB size

所以你可以看到改善的程度是7-8倍。此时,每个节点的数据库大小约为4.5GB(包括索引),节点的内存为8GB(因此dirty_ratio为10意味着内核试图保持小于800MB的脏)。

接下来我要尝试的是ext2(目前:ext3)和noatime并且还将所有内容保存在ramdisk上(这可能会浪费两倍的内存量,但可能值得)。

答案 1 :(得分:2)

我只是设置了缓存选项,现在速度明显加快了。

答案 2 :(得分:1)

我认为修改dbtune函数中的bnum参数也会显着提高速度。