Недавно я отформатировал массив 20 ТБ как XFS. Для передачи файлов <10G производительность просто фантастическая. Однако после того, как я превысил 10 ГБ, дисковый ввод-вывод логарифмически распадается. У меня журнал на том же диске. Когда я смотрю на использование дискового ввода-вывода, я вижу, что jbd2flush использует почти весь дисковый ввод-вывод. Как я могу это решить? (Есть ли способ сделать это без удаления данных?) Я использую Ubuntu 10.10. Спасибо.
Журнал обычно никогда не вызывает проблем с производительностью, за исключением небольших операций ввода-вывода произвольной записи, поскольку журнал представляет собой кольцевой буфер, доступ к которому осуществляется последовательно по мере добавления журнала.
Сколько памяти у системы? Какие водяные знаки на стороне pdflush?
Можете ли вы создать диаграмму пропускной способности, т.е. построить некоторые столбцы iostat -x -k 1
с gnuplot или чем-то подобным для случаев <10 ГБ и> 10 ГБ?
Чтобы уменьшить конкуренцию при высокой нагрузке, я бы поместил журнал на отдельный диск. Легче всего был бы один диск из самого массива, но, вероятно, вы больше не сможете этого сделать без восстановления из резервной копии. Настройка специального устройства ведения журнала объясняется на странице руководства tune2fs (8) в разделе -J.
Выровнена ли ваша файловая система XFS по размеру полосы? Это может не иметь прямого отношения к вашей проблеме с производительностью, но определенно повышает производительность. пожалуйста, проверьте эта тема для некоторых общих идей и образцов.