我正在评估东京内阁表引擎。插入率在达到100万条记录后显着下降。批量大小为100,000,并在交易中完成。我尝试设置xmsiz,但仍然没有用。有没有人用东京内阁面对这个问题?东京内阁 - 击中1万后插入更慢
详细
东京柜 - 1.4.3
Perl绑定 - 1.23
操作系统:Ubuntu的7.10(的VMware Player在Windows XP的顶部)
我正在评估东京内阁表引擎。插入率在达到100万条记录后显着下降。批量大小为100,000,并在交易中完成。我尝试设置xmsiz,但仍然没有用。有没有人用东京内阁面对这个问题?东京内阁 - 击中1万后插入更慢
详细
东京柜 - 1.4.3
Perl绑定 - 1.23
操作系统:Ubuntu的7.10(的VMware Player在Windows XP的顶部)
我刚才设置的缓存选项,现在它显着更快。
我想修改在DBTUNE功能的带bnum参数也会给一个显著的速度提升。
我在每个碎片上撞击了一百万条记录的砖墙(在客户端分片,没有什么奇特的)。我尝试过各种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 RAM(因此dirty_ratio为10意味着内核试图保持少于约800MB的脏)。
接下来我会尝试的是ext2(当前:ext3)和noatime,并且将所有内容保留在虚拟硬盘上(这可能浪费两倍的内存量,但可能是值得的)。