Я столкнулся с проблемой, когда запись в файл вызовет паузу от 5 до 15 секунд, это происходит только при записи. Пока что я перемонтировал файловую систему с data = writeback в качестве опции и установил / sys / block / sdb / queue / max_sectors_kb на 64, чтобы сократить очередь.
Можно ли еще что-нибудь решить?
Вы читаете и записываете большое количество файлов?
mount -o remount, noatime, nodiratime / точка монтирования
Также может помочь, если вам не нужно знать время последнего доступа к файлу.
Какой планировщик ввода-вывода вы используете? Крайний срок / предвосхищение имеют несколько необычных угловых случаев, которые могут вызвать проблемы. CFQ, как правило, довольно хорош, но другие могут подойти лучше в зависимости от вашего приложения: http://www.linux-mag.com/id/7564/2/
Включены или отключены барьеры? Некоторые контроллеры поддерживают барьеры, но страдает производительность записи. mount -o remount, nobarrier / mountpoint или, возможно, mount -o remount, барьер = 0 / точка монтирования
Я бы порекомендовал перейти на ext4, вы можете сделать это на месте, и у него лучше производительность записи.
Если вы одновременно читаете и записываете в FS, то монтирование с помощью data = journal будет резко улучшить производительность.
Следующее, что нужно попробовать, это настроить параметр bdflush - чтобы чаще записывать грязные буферы.
Вы можете проверить диски, на которые вы записываете, если это RAID-массив, могут быть проблемы с дисками; в качестве альтернативы убедитесь, что кэш записи включен.
Ваша файловая система заполнена. Когда использование пространства файловой системы приближается к 100%, многие файловые системы (и ext3 - не худший вариант) становятся все медленнее и медленнее.