Мое приложение использует O_DIRECT для сброса данных объемом 2 МБ непосредственно в трехполосное хранилище (монтируется как том lvm).
Я получаю очень жалкую скорость записи в этом хранилище.Iostat показывает, что большой размер запроса разбивается на меньшие.
avgrq-sz
равно <20 ... На этом диске мало что читается.</p>
Требуется около 2 секунд, чтобы очистить непрерывные блоки памяти объемом 2 МБ (используя mlock
, чтобы убедиться в этом), выровнять по секторам (используя posix_memalign
), тогда как тесты выполняются со скоростью dd
и iozone
хранилище, способное поддерживать скорость записи> 20 Мбит / с.
Буду признателен за любые подсказки о том, как исследовать эту проблему дальше.
PS: Если это неправильный форум для этого запроса, я был бы признателен за показатели, которые могли бы быть полезными.
Спасибо.