Да, это включено по умолчанию. Можно отключить его при помощи-u опции на командной строке при вызове Python.
Думаю, я взломал это, и я нигде больше не видел этого решения. В Linux обычно есть две причины, по которым Токио начинает замедляться. Давайте рассмотрим обычных виновников. Во-первых, если вы установите слишком низкое значение bnum, вы хотите, чтобы оно было как минимум равным половине количества элементов в хэше. (Желательно больше.) Во-вторых, вы хотите попытаться установить размер xmsiz, близкий к размеру массива корзин. Чтобы получить размер массива ведра, просто создайте пустую базу данных с правильным номером, и Токио инициализирует файл до соответствующего размера. (Например, bnum = 200000000 составляет примерно 1,5 ГБ для пустого db.)
Но теперь вы заметите, что он все еще замедляется, хотя и немного дальше. Мы обнаружили, что хитрость заключалась в том, чтобы отключить ведение журнала в файловой системе - по какой-то причине журналирование (на ext3) резко возрастает, когда размер вашего хеш-файла превышает 2–3 ГБ. (Мы поняли, что это были всплески ввода-вывода, не соответствующие изменениям файла на диске, наряду с всплесками процессора демона kjournald)
Для Linux просто размонтируйте и снова подключите свой раздел ext3 как ext2. Создайте свою базу данных и перемонтируйте как ext3. Когда журналирование было отключено, мы могли без проблем создавать базы данных размером 180 миллионов ключей.
Я начинаю работать над решением для добавления шардинга в токийский кабинет под названием Shardy.
Хранилище ключевых значений Tokyo Cabinet действительно хорошо. Я думаю, что люди называют его медленным, потому что они используют табличное хранилище Tokyo Cabinet.
Если вы хотите хранить данные документов, используйте mongodb или другой движок nosql.
Токио прекрасно масштабируется !! Но вы должны правильно настроить bnum и xmsiz. bnum должно быть от 0,025 до 4 раз больше, чем количество записей, которые вы планируете хранить. xmsiz должен соответствовать размеру BNUM. Также установите opts = l, если вы планируете хранить более 2 ГБ.
См. Сообщение Грега Фодора выше о получении значения для размера xmsiz. Обратите внимание, что при установке xmsiz значение указывается в байтах.
Наконец, если вы используете дисковый хэш, очень, очень, ОЧЕНЬ важно отключить ведение журнала в файловой системе, в которой хранятся данные токио. Это верно для Linux, Mac OSX и, возможно, Windows, хотя я еще не тестировал это там.
Если ведение журнала включено, вы увидите серьезное падение производительности по мере приближения к 30+ миллионам строк. Когда ведение журнала отключено, а другие параметры настроены соответствующим образом, Токио - отличный инструмент.