ГЛЯДЯ ВПЕРЕД

Марк Л.Ван Нейм, Билл Кэтчингс

 

Вопрос на "засыпку": какой метод распределения файлов по дискам сервера дает максимальную производительность?

 

Размещение ПО самой сетевой операционной системой? Использование возможностей дисковой подсистемы по разметке носителей данных?

 

Коль скоро вопрос выносится в самое начало колонки, вас, вероятно, не удивит, что для многих серверов ни одно из предложенных решений не будет правильным. В большинстве случаев, для того чтобы "выжать" максимально возможную производительность из дисковой подсистемы сервера, лучше всего вручную разместить файлы на дисках на основе предварительного анализа.

 

Совсем другой вопрос, стоит ли тратить на это время.

 

Тот факт, что, распределив файлы вручную, можно добиться улучшения производительности, хорошо известен. Многие очень большие организации, в прошлом работавшие с мэйнфреймами и мини-компьютерами, содержали работников или даже небольшие группы, которые анализировали работу пользователей системы с дисками. Затем по результатам анализа файлы аккуратно распределялись по дискам.

 

Этот процесс обычно представлял собой сочетание научного подхода и искусства: наука выступала в форме информации об использовании дисков, полученной от операционной системы, а искусство  -  в пришедшем с опытом мастерстве людей, проводящих настройку. Если процесс вообще удавалось хорошо провести, то его результатом было повышение сбалансированности работы и производительности систем. Серьезные СУБД также долгое время предоставляли аналогичные возможности настройки. Большинство таких продуктов, по крайней мере, позволяет администраторам выбрать диски для размещения разных таблиц данных.

 

Данный метод работает и поныне. С помощью программ NetBench и ServerBench фирмы ZD мы убедились в том, что результаты тестов значительно улучшаются, если разместить файлы по дискам сервера таким образом, чтобы максимизировать вероятность параллельного обращения к дискам. Такие же возможности СУБД многие аналогичные продукты предоставляют и для серверов на базе ПК.

 

Что действительно сильно изменилось, так это экономические показатели такого типа настройки.

 

Дешевле купить

 

Дисководы жестких дисков, из которых специалисты по мини-компьютерам и мэйнфреймам пытались "выжать" максимальную производительность, часто стоили десятки тысяч долларов. Если настройка могла позволить компании избежать покупки хотя бы одного-двух лишних дисков, то на сэкономленные деньги вполне можно было нанять работника для выполнения этой настройки.

 

Сегодня такой расчет, очевидно, не проходит. При ценах дисков в несколько тысяч или даже сотен долларов и зарплатах, составляющих, по крайней мере, десятки тысяч [в год], дешевле купить несколько лишних дисков или даже дополнительный сервер, чем расходовать время сотрудников на распределение файлов по дискам.

 

Раз так, то операционные системы, конечно, должны "научиться" делать это за нас.

 

Любая большая сетевая ОС поставляется с возможностями распределения ПО и некоторыми средствами анализа и мониторинга. И то и другое очень важно, однако на них следует смотреть лишь как на первые шаги большого пути. Следующие шаги должны заключаться в разработке инструментов для отслеживания обращений к отдельным дискам и файлам и даже для лучшего распределения нагрузки. Для этого ОС может переместить некоторые из файлов с одних дисков на другие, а остальные оставить так, как их разместила программа, или же использовать дисковую RAID-подсистему для распределения некоторых (но не всех) файлов с помощью разметки носителей.

 

Возможностей много. Не все из них окажутся пригодными, но некоторые обеспечат значительное повышение производительности. Важно, чтобы поставщики сетевых ОС приняли эти ценные, часто забытые методы из рук администраторов и включили их в список возможностей своих продуктов.

 

Марк Л. Ван Нейм, Билл Кэтчингс

 

С Марком Ван Неймом и Биллом Кэтчингсом можно связаться через Internet по адресам: MARK_VAN_NAME@ZD.COM и BILL_CATCHINGS@ZD.COM.