Оптимизация производительности Put в Berkeley DB

Я только начал играть с Berkeley DB несколько дней назад, поэтому я пытаюсь понять, есть ли что-то, чего мне не хватает, когда речь идет о максимально быстром хранении данных.

Вот некоторая информация о данных: - он состоит из блоков по 512 байт - чанки идут по порядку - чанки будут удаляться в порядке FIFO - если я потеряю некоторые данные в конце из-за сбоя питания, это нормально, пока вся база данных не сломана

После прочтения кучи документации мне показалось, что база данных очереди была именно тем, что я хотел.

Тем не менее, после тестирования некоторого тестового кода мои самые быстрые результаты были примерно 1 МБ в секунду, просто проходя через DB-> put с установленным DB_APPEND. Я также пробовал использовать транзакции и массовые путы, но и то, и другое значительно замедлило работу, поэтому я не использовал их долгое время. Я вставлял новую базу данных, созданную на микросхеме NANDFlash на моей плате разработки Freescale i.MX35.

Поскольку мы хотим получить скорость записи не менее 2 МБ в секунду, мне было интересно, есть ли что-то, что я пропустил, что может улучшить мои скорости, поскольку я знаю, что мое оборудование может писать быстрее, чем это.

6
задан jjfine 29 September 2010 в 19:13
поделиться