Добрый день.
Имеется сервер с 2 sas дисками в raid 1.
Установленная ОС - FreeBSD 7.2.
И имеется проблема с производительностью дисков.
Согласно выводу gstat загрузка дисков(%bisy) постоянно больше 100 процентов. При этом записывается около 1MB/s и периодически очередь(L(q)) возрастает . При этом система жутко тормозит. как можно увеличить производительность записи на диск.
Чуть не забыл. На диск постоянно пишется много небольших данных.
>Добрый день.
>Имеется сервер с 2 sas дисками в raid 1.
>Установленная ОС - FreeBSD 7.2.
>И имеется проблема с производительностью дисков.
>Согласно выводу gstat загрузка дисков(%bisy) постоянно больше 100 процентов. При этом записывается
>около 1MB/s и периодически очередь(L(q)) возрастает . При этом система жутко
>тормозит. как можно увеличить производительность записи на диск.
>Чуть не забыл. На диск постоянно пишется много небольших данных.Ещё вопрос. Как оценить производительность при помощи iostat?
>>Добрый день.
>>Имеется сервер с 2 sas дисками в raid 1.
>>Установленная ОС - FreeBSD 7.2.
>>И имеется проблема с производительностью дисков.
>>Согласно выводу gstat загрузка дисков(%bisy) постоянно больше 100 процентов. При этом записывается
>>около 1MB/s и периодически очередь(L(q)) возрастает . При этом система жутко
>>тормозит. как можно увеличить производительность записи на диск.Посмотреть, что грузит, и отключить/отказаться от использования/закэшировать в ОЗУ, и т д
>>Чуть не забыл. На диск постоянно пишется много небольших данных.
если _пишется_, то зеркало для повышения производительности не подходит (оно повышает скорость seek'ов только на чтении, хотя и очень существенно)
>Ещё вопрос. Как оценить производительность при помощи iostat?
А что именно не понятно? Кстати, BSD top умеет сортировать процессы по дисковой активности(клавиша m), и ps тоже (man ps)
В платформу можно вставить четыре диска? Если да, 1+0 через geom (gmirror и gstripe) должны Вас спасти.
У Вас ведь не фейк-рейд через полукитайский недоконтроллер, а gmirror или нормальный аппаратный с батарейкой и включенным кэшем контроллера на запись?
>[оверквотинг удален]
>А что именно не понятно? Кстати, BSD top умеет сортировать процессы по
>дисковой активности(клавиша m), и ps тоже (man ps)
>
>
>В платформу можно вставить четыре диска? Если да, 1+0 через geom (gmirror
>и gstripe) должны Вас спасти.
>
>
>У Вас ведь не фейк-рейд через полукитайский недоконтроллер, а gmirror или нормальный
>аппаратный с батарейкой и включенным кэшем контроллера на запись?Что грузит систему известно. Отказаться от приложения не можем. Увеличить количество шпинделей для увеличения записи - тоже не возможно(тупо нет дырок). RAID аппаратный. Выбрано решение 1 рейда из соображений отказоустойчивости.
Просто если писать на диск большими блоками, то скорость записи на много больше(больше чем в 20 раз). Собственно из-за этого и возник вопрос. Как сделать так, чтобы то, что пишется маленькими блоками кешировалось, а кеш аккуратно ложился на диски. И как увеличить кеш. Благо оперативы достаточно много.
> RAID аппаратный.Какой именно контроллер? Батарейка + кэш есть?
>Просто если писать на диск большими блоками, то скорость записи на много
>больше(больше чем в 20 раз).так часто и бывает, так как случайное чтение/запись для диска всегда более времяемкая операция, чем линейное чтение-запись, впрочем дешевые аппаратные контроллеры часто и линейной скоростью не блещут...
Кстати, geom в FreeBSD часто работает значительно быстрее дешевых (до $1000) аппаратных raid, а риска неконсистентности данных нет (так как в случае если метаданные отличаются, gmirror засинкает один диск с другого, после, например, сброса по питанию во время интенсивной записи)
Если приложение не работает 7/24/365, не хотите попробовать потестить, не лучше ли станет ситуация с gmirror?
>Как сделать так, чтобы то, что пишется маленькими блоками кешировалось, а
>кеш аккуратно ложился на диски.По всей видимости, писать в именованый пайп, который с другой стороны читать, и кешируя писать на диск.
>>Как сделать так, чтобы то, что пишется маленькими блоками кешировалось, а
>>кеш аккуратно ложился на диски.
>
>По всей видимости, писать в именованый пайп, который с другой стороны читать,
>и кешируя писать на диск.Что-то я совсем торможу...
Вам нужно создать виртуальный диск md в памяти - и на него писать. А с него уже копировать на хдд.
>Добрый день.
>Имеется сервер с 2 sas дисками в raid 1.
>Установленная ОС - FreeBSD 7.2.
>И имеется проблема с производительностью дисков.
>Согласно выводу gstat загрузка дисков(%bisy) постоянно больше 100 процентов. При этом записывается
>около 1MB/s и периодически очередь(L(q)) возрастает . При этом система жутко
>тормозит. как можно увеличить производительность записи на диск.
>Чуть не забыл. На диск постоянно пишется много небольших данных.Кстати, народ все чаще начинает использовать SSD. Если все совсем плохо, может быть это тоже решит проблему?
>[оверквотинг удален]
>>Имеется сервер с 2 sas дисками в raid 1.
>>Установленная ОС - FreeBSD 7.2.
>>И имеется проблема с производительностью дисков.
>>Согласно выводу gstat загрузка дисков(%bisy) постоянно больше 100 процентов. При этом записывается
>>около 1MB/s и периодически очередь(L(q)) возрастает . При этом система жутко
>>тормозит. как можно увеличить производительность записи на диск.
>>Чуть не забыл. На диск постоянно пишется много небольших данных.
>
>Кстати, народ все чаще начинает использовать SSD. Если все совсем плохо, может
>быть это тоже решит проблему?SSD слишком дорого и не надёжно.
>SSD слишком дорого и не надёжно.Дорого - да, ненадежно? Так зеркало же :) (хотя еще хотя бы один диск конечно же должен быть в ZIP)
Кроме того, любое кэширование в ОЗУ _записи_ это еще хуже
Галина, у Вас второй диск накроется сразу после первого, как минимум в туже ночь. Именно по тому, что это зеркало ;]>Дорого - да, ненадежно? Так зеркало же :) (хотя еще хотя бы
>один диск конечно же должен быть в ZIP)
>Галина, у Вас второй диск накроется сразу после первого, как минимум в
>туже ночь. Именно по тому, что это зеркало ;]У меня другой опыт: куча серверов с умершими дисками из одной партии в одном рейд-массиве:
были, конечно, и синхронные "обсыпы", но и много раз оставшиеся диски работали в массиве не один год.SSD среди них еще не было, но не думаю, что будет существенная разница.
>>Галина, у Вас второй диск накроется сразу после первого, как минимум в
>>туже ночь. Именно по тому, что это зеркало ;]
>
>У меня другой опыт: куча серверов с умершими дисками из одной партии
>в одном рейд-массиве:
>были, конечно, и синхронные "обсыпы", но и много раз оставшиеся диски работали
>в массиве не один год.
>
>SSD среди них еще не было, но не думаю, что будет существенная
>разница.Разница существенна, так как основное отличие SSD от традиционных дисков - ограниченное число циклов записи у SSD, притом как у шпиндельных дисков такого нет. При RAID1 каждая запись будет производится на оба диска сразу. Соответственно и счётчик циклов записи будет крутиться на обоих дисках одновременно. И придут к нулю они также примерно одновременно. Соответственно и вылетят примерно одновременно. И если вы успели вовремя поменять диск, значит у вас просто превосходная карма и вам дико повезло.
>Разница существенна, так как основное отличие SSD от традиционных дисков - ограниченное
>число циклов записи у SSD, притом как у шпиндельных дисков такого
>нет. При RAID1 каждая запись будет производится на оба диска сразу.
>Соответственно и счётчик циклов записи будет крутиться на обоих дисках одновременно.
>И придут к нулю они также примерно одновременно. Соответственно и вылетят
>примерно одновременно. И если вы успели вовремя поменять диск, значит у
>вас просто превосходная карма и вам дико повезло.Тогда решение просто просится :) Один из дисков ставить б/у :)
>Добрый день.
>Имеется сервер с 2 sas дисками в raid 1.
>Установленная ОС - FreeBSD 7.2.
>И имеется проблема с производительностью дисков.
>Согласно выводу gstat загрузка дисков(%bisy) постоянно больше 100 процентов. При этом записывается
>около 1MB/s и периодически очередь(L(q)) возрастает . При этом система жутко
>тормозит. как можно увеличить производительность записи на диск.
>Чуть не забыл. На диск постоянно пишется много небольших данных.может быть, ваше приложение делает fsync() после каждой записи?
>>Добрый день.
>>Имеется сервер с 2 sas дисками в raid 1.
>>Установленная ОС - FreeBSD 7.2.
>>И имеется проблема с производительностью дисков.
>>Согласно выводу gstat загрузка дисков(%bisy) постоянно больше 100 процентов. При этом записывается
>>около 1MB/s и периодически очередь(L(q)) возрастает . При этом система жутко
>>тормозит. как можно увеличить производительность записи на диск.
>>Чуть не забыл. На диск постоянно пишется много небольших данных.
>
>может быть, ваше приложение делает fsync() после каждой записи?А может сюда копнуть ?
Переменная sysctl vfs.write_behind по умолчанию установлена в 1 (включено). Она указывает системе выполнять запись на носитель по кластерам, что обычно делается для больших файлов. Идея в том, чтобы избежать заполнения кэша неполными буферами, когда это не увеличивает производительность. Однако, это может заблокировать процессы и в некоторых случаях вам может понадобиться отключить этот параметр.