Linux: варианты монтирования для повышения производительности на медленных жестких дисках?

6146
java.is.for.desktop

Я столкнулся с проблемой производительности двух жестких дисков. Один быстрый, но монтируется удаленно через NFS, другой локальный (ext4), но медленный.

Нет, замена двух дисков не является вариантом, потому что это может привести к тому, что установка в другой системе пострадает от этого.

У меня субъективное впечатление, что большая часть потери производительности происходит во время записи кэшированных данных (в обоих случаях: локальных и удаленных).
Другое эмпирическое доказательство состоит в том, что syncвсегда требуется меньше секунды, даже после большого количества написания. Опять же, для меня это означает: кэш записи слишком мал, или используется слишком мало, или похож.

Вопрос в том, могу ли я улучшить производительность с некоторыми вариантами монтирования?

Я нашел в справочной странице mount некоторую опцию, которая может быть связана с производительностью: max_batch_time, delalloc. Но я не могу догадаться, что по умолчанию, что они делают, ...

Дополнительный вопрос: есть ли шанс повысить производительность, переформатировав раздел ext4 с другими параметрами?

2
У вас есть диск ext4, отформатированный с поддержкой экстентов? Broam 14 лет назад 0
Я отформатировал его с параметрами по умолчанию Opensuse от Yast. Я уверен, что он включен. java.is.for.desktop 14 лет назад 0
Как медленно, медленно? Если вы не измеряете, вы не можете знать, находитесь ли вы уже очень близко к самой высокой производительности hw (если это так, ваш единственный вариант - купить новый hw - иначе вы можете потратить время на оптимизацию настроек) Davide 14 лет назад 0

2 ответа на вопрос

5
DaveParillo

Для чего вам нужен диск? Производительность часто зависит от типа файловой системы и от того, какая задача выполняется.

Установка noatimeв вашем разделе или переход на reiserfs может немного повысить производительность, но вы можете создать проблемы с NFS для себя. Если локальный диск ext4 медленнее, чем монтирование NFS, я думаю, что происходит что-то еще. Я думаю, вам нужно посмотреть, что еще происходит в вашей системе, что мешает вашему диску справиться с вашими задачами записи. Подумайте о том, что делает все это письмо. Скажем, что-то колотится / TMP. Перемещение / tmp в его собственный раздел поможет с остальными локальными разделами.

Возможно, вы страдаете от необходимости дефрагментировать ваш диск. Хотя файловые системы linux не страдают от фрагментации так сильно, как NTFS, они со временем фрагментируются. Поскольку ext4 defrag не слишком прост (требуется режим ядра), вы можете просто переформатировать, так как вы, похоже, готовы попробовать новый тип файловой системы.

Смонтируйте настройки, чтобы попробовать:

  1. noatime & nodiratime
    • нет acl
    • данные = обратная запись, нобх
    • delalloc - который уже должен быть по умолчанию - не нужно устанавливать.
    • commit = N По умолчанию 5 секунд, хорошо для безопасности, «плохо» для производительности. Установка более высоких значений может привести к потере «N» секунд работы в случае сбоя вашей машины. Журналирование до сих пор сохраняется, поэтому диск не подвержен влиянию.
    • inode_readahead = п
    • max_batch_time = N
«noatime» также имеет тот же эффект, что и «nodiratime», нет необходимости использовать оба параметра. http://lwn.net/Articles/245002/ 9 лет назад 0
1
geek

Я использую noatime, чтобы уменьшить общее время доступа для записи.

Да, я уже использую noatime и nodiratime и data = writeback. java.is.for.desktop 14 лет назад 0

Похожие вопросы