Токийский кабинет - медленные вставки после удара в 1 миллион - PullRequest
5 голосов
/ 03 марта 2009

Я оцениваю двигатель стола Токио. Скорость вставки значительно замедляется после попадания в 1 миллион записей. Размер партии составляет 100 000 и делается в рамках транзакции. Я попытался установить xmsiz, но все равно бесполезно. Кто-нибудь сталкивался с этой проблемой в токийском кабинете?

Подробности

Токийский кабинет - 1.4.3
Связки Perl - 1,23
ОС: Ubuntu 7.10 (VMWare Player поверх Windows XP)

Ответы [ 3 ]

4 голосов
/ 11 декабря 2009

Я ударил по кирпичной стене около 1 миллиона записей на каждый осколок (осколок на стороне клиента, ничего особенного). Я пробовал различные варианты 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,5 ГБ на узел (включая индексы), а узлы имели 8 ГБ ОЗУ (поэтому значение dirty_ratio, равное 10, означало, что ядро ​​пыталось сохранить менее 800 МБ грязной).

Следующая вещь, которую я попробую, это ext2 (в настоящее время: ext3) и noatime, а также хранение всего на виртуальном диске (это, вероятно, будет тратить вдвое больше памяти, но может стоить).

2 голосов
/ 04 марта 2009

Я только что установил параметр кэширования, и теперь он значительно быстрее.

1 голос
/ 29 апреля 2009

Я думаю, что изменение параметра bnum в функции dbtune также даст значительное улучшение скорости.

...