Здравствуйте!
Подскажите, пожалуйста, где искать узкое место.
Занимаемся видеомонтажом. Имеется 2 сервера на freenas. Около 15 клиентов мак (открыт доступ только по afp). Гигабитная сеть. Специфика работы означает одновременный доступ клиентов, в основном на чтение. Причем больших файлов.
На серверах, соответственно, лежит видео. Один постарее (мать supermicro, 2xXEON, 32 гб оперативной с ecc), второй поновее (мать асус на серверном чипсете, но на i7, 64 гб оперативной). Дисковая конфигурация примерно одинакова. Через контроллер adaptec 8805 (раньше 6805е) подключены 8 sas винтов hitachi (раньше просто sata wd black) по 4 Тб каждый. Естественно, заведено через jbod и отдано под zfs raidz. Кеш из ssd не делали, ввиду специфики задач (объемы данных большие и данные все время разные...) Сеть 4-х ствольные гигабитные адаптеры интел, которые работают в режиме агрегации. Коммутатор cisco 350x 48-портовый (раньше hp 2510).
Результаты в целом приятные. Каждый клиент имеет свой канал к серверу до 110 Мбайт/сек реальной пропускной способности. Причем падать эта цифра начинает на 5-м клиенте, подключенном к тому же серверу, что вполне устраивает.
Что не устраивает, и в чем, собственно, заключается вопрос. Как только кто-то один начинает на сервер что-либо ПИСАТЬ - чтение падает у всех практически в минимум. Растут задержки, вплоть до жестких задержек при открытии папок...
Возможно, если бы у нас данные были "обычного офисного типа", т.е. много мелких файлов - возможно, никто никаких задержек даже не заметил бы... Но, раз уж речь идет о больших потоковых файлах (100МБ~2ГБ, до 30ГБ, и их много), то и падение общей производительности ощущается больнее.
Подскажите, в какую сторону копать?
Из уже сделанных выводов:
Подскажите, пожалуйста, где искать узкое место.
Занимаемся видеомонтажом. Имеется 2 сервера на freenas. Около 15 клиентов мак (открыт доступ только по afp). Гигабитная сеть. Специфика работы означает одновременный доступ клиентов, в основном на чтение. Причем больших файлов.
На серверах, соответственно, лежит видео. Один постарее (мать supermicro, 2xXEON, 32 гб оперативной с ecc), второй поновее (мать асус на серверном чипсете, но на i7, 64 гб оперативной). Дисковая конфигурация примерно одинакова. Через контроллер adaptec 8805 (раньше 6805е) подключены 8 sas винтов hitachi (раньше просто sata wd black) по 4 Тб каждый. Естественно, заведено через jbod и отдано под zfs raidz. Кеш из ssd не делали, ввиду специфики задач (объемы данных большие и данные все время разные...) Сеть 4-х ствольные гигабитные адаптеры интел, которые работают в режиме агрегации. Коммутатор cisco 350x 48-портовый (раньше hp 2510).
Результаты в целом приятные. Каждый клиент имеет свой канал к серверу до 110 Мбайт/сек реальной пропускной способности. Причем падать эта цифра начинает на 5-м клиенте, подключенном к тому же серверу, что вполне устраивает.
Что не устраивает, и в чем, собственно, заключается вопрос. Как только кто-то один начинает на сервер что-либо ПИСАТЬ - чтение падает у всех практически в минимум. Растут задержки, вплоть до жестких задержек при открытии папок...
Возможно, если бы у нас данные были "обычного офисного типа", т.е. много мелких файлов - возможно, никто никаких задержек даже не заметил бы... Но, раз уж речь идет о больших потоковых файлах (100МБ~2ГБ, до 30ГБ, и их много), то и падение общей производительности ощущается больнее.
Подскажите, в какую сторону копать?
Из уже сделанных выводов:
- Специально указал какое железо используется сейчас, и какое было раньше - разницы по поводу одновременного чтения/записи нет. От замены этого железа по сути вопроса ничего не изменилось.
- Тип агрегации также на практике не влияет. Load ballance или LACP - ситуация одинакова. Да, в статистике системы, действительно, запись идет только по одному из 4-х интерфейсов, но реально клиенты читать не могут нормально во время записи. Другие типы агрегации, поддерживаемые фринасом, не рассматривались ввиду нецелесообразности. Сетевые карты интел и свитчи (что hp, что cisco) - поддерживают данные типы агрегации по стандартам.
- Производительность дисковой системы вроде бы достаточна для таких задач и даже слегка избыточна.
- Возможно, дело в сетевой агрегации, которая работает не корректно/предназначена для других задач? Стоит ли пробовать отказаться от агрегации в принципе и перейти на один 10Гбит линк от сервера до свитча?
- Возможно софтовый рейд на зфс не предназначен для таких задач и одновременных операций чтения/записи? Может, стоит отказаться от зфс и собрать аппаратный рейд 5-го уровня из тех же дисков, средствами того же контроллера адаптек 8805?
- Все гораздо проще и у меня что-то неправильно настроено/сконфигурировано? Я что-то упускаю из виду?
- Решения на основе SAN не предлагайте из-за дороговизны оных, потому NAS и используем)))
Last edited: