Токийский кабинет - медленные вставки после удара в 1 миллион

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

подробности

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

3 ответа

Я ударил по кирпичной стене около 1 миллиона записей на каждый шард (шардинг на стороне клиента, ничего особенного). Я пробовал различные варианты ttserver, и они, казалось, не имели никакого значения, поэтому я посмотрел на сторону ядра и обнаружил, что

echo 80 > /proc/sys/vm/dirty_ratio

(предыдущее значение было 10) дало значительное улучшение - ниже приводится общий размер данных (по 8 осколков, каждый на своем узле), печатаемых каждую минуту:

всего: 14238792 записей, размер 27,5881 ГБ
всего:  14263546 записей, размер 27,6415 ГБ
всего: 14288997 записей, размер 27,6824 ГБ
всего:  14309739 записей, размер 27,7144 ГБ
всего:  14323563 записей, размер 27,7438 ГБ
(здесь я изменил параметр dirty_ratio для всех шардов)
всего:  14394007 записей, размер 27,8996 ГБ
всего: 14486489 записей, размер 28.0758 ГБ
всего:  14571409 записей, размер 28,2898 ГБ
всего: 14663636 записей, размер 28,4929 ГБ
всего:  14802109 записей, размер 28,7366 ГБ

Итак, вы можете видеть, что улучшение было порядка 7-8 раз. В тот момент размер базы данных составлял около 4,5 ГБ на узел (включая индексы), а узлы имели 8 ГБ ОЗУ (поэтому значение dirty_ratio, равное 10, означало, что ядро ​​пыталось сохранить менее 800 МБ грязной).

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

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

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

Другие вопросы по тегам