Ж у р н а л   о   к о м п ь ю т е р н ы х   с е т я х   и   т е л е к о м м у н и к а ц и о н н ы х   т е х н о л о г и я х
СЕТИ И СИСТЕМЫ СВЯЗИ on-line
  ПОИСК: ПОДПИСКА НА НОВОСТИ: НОМЕР:
    ДОМОЙ • Архив: Новостей | Конференций | НомеровПодписка
 
   
 
   
    
РЕДАКЦИЯ
 
Все о журнале
Подписка
Как проехать
Где купить
Отдел рекламы
График выхода журнала
Адреса в Интернет

РУБРИКАТОР
   
• Инфраструктура
• Информационные
   системы

• Сети связи
• Защита данных
• Кабельные системы
• Бизнес
• Колонка редактора
• Электронная
   коммерция

• Только на сервере
• Системы
   учрежденческой
   связи

• Новые продукты


Rambler's Top100

  

Масштабируемость сервера

Джей Милн

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

Целью нашего тестирования было определение факторов, повышающих масштабируемость сервера. При этом мы ориентировались на ОС Windows NT и приложения для нее (Exchange и SQL Server).

Аппаратное обеспечение

Аппаратное обеспечение — это осязаемая и легко изменяемая субстанция, но имейте в виду: простое добавление оборудования не гарантирует большей производительности или лучшей масштабируемости вашего сервера. Скорость работы сервера определяется производительностью его самого медленного компонента. Надо учитывать и возможности ПО. Например, ОС NetWare 4.1 не поддерживает симметричную мультипроцессорную обработку (SMP), поэтому установка дополнительных процессоров не повышает производительность сервера, а вот добавление памяти может сделать это, так как дополнительная память будет использоваться для кэширования данных и операционной системе не придется считывать их с диска.

Степень масштабируемости сервера определить непросто. Но, посмотрев на официальные результаты тестирования TPC-C от 21 января текущего года (см. www.tpc.org), вы увидите, что наивысшую производительность показал кластер из четырех серверов AlphaServer 8400 5/350 корпорации Digital Equipment. Его результат — 30 390 tpmC. Однако стоит такая система дорого — более 9 млн долл. Соотношение цена/ производительность у серверов на платформе Intel лучше, чем у RISC-систем, но если вам нужен высокопроизводительный кластер, состоящий из таких серверов, то придется подождать. Большинство современных кластерных решений для платформы Intel ориентированы исключительно на обеспечение надежности работы серверных приложений, а не на увеличение их быстродействия. Даже WolfPack — новый интерфейс прикладного программирования (API) корпорации Microsoft — предназначен только для повышения отказоустойчивости приложений. Фаза II WolfPack, выпуск которой намечен на 1998 год, должна использовать кластеризацию и для обеспечения масштабируемости.

Серверы на платформе Intel хорошо масштабируются только до четырех ЦПУ, при дальнейшем увеличении числа процессоров производительность серверов растет очень медленно1. Производительность серверов зависит от емкости кэш-памяти второго уровня их процессоров. Процессоры Pentium Pro производят двух модификаций — c кэш-памятью емкостью 256 и 512 Кбайт соответственно. Мы обнаружили, что скорость выполнения приложений процессором Pentium Pro 166 c кэш-памятью второго уровня емкостью 512 Кбайт почти всегда выше, чем у 200-МГц процессора с кэш-памятью второго уровня емкостью 256 Кбайт.

Для оценки масштабируемости нашего сервера Compaq ProLiant 5000 с ОЗУ емкостью 512 Мбайт мы использовали набор тестов на производительность Business Benchmark компании Neal Nelson and Associates. Эти тесты выполняются на испытуемом сервере и создают определенную нагрузку на его подсистемы. Тесты Simulated Calculation Workload и Simulated Transaction Processing Workload показали, что наибольший рост производительности достигается при переходе с одного процессора на два (использовались процессоры Pentium Pro 166 с кэш-памятью второго уровня емкостью 512 Кбайт). При добавлении еще одного процессора производительность почти не увеличивается.

Тест Simulated Transaction Processing Workload моделирует загрузку вычислительной системы при обработке транзакций. Чтобы выполнить его с одним ЦПУ, нашему серверу потребовалось почти 300 с, а с двумя — только 151 с. Затем рост производительности стал снижаться: с тремя процессорами тест был выполнен за 133 с, с четырьмя — за 128 с.

Выбор конфигурации дискового массива сервера зависит от типа используемых приложений. В случае СУБД типа SQL Server или Lotus Notes лучше иметь два набора дисков: для журналов транзакций и для данных. Если и те и другие расположить на одном и том же дисковом массиве, то очень частые обращения к нему могут вызвать его перегрузку и снизить производительность сервера. Также важен тип кэш-памяти контроллера дискового массива: кэш-память со сквозной записью в ОЗУ более безопасна для целостности данных, а кэш-память с обратной записью ускоряет работу сервера. Наши испытания показали, что размещение журналов данных на различных дисковых устройствах может повысить производительность системы на 10—15%.

Что же касается оперативной памяти сервера, то, чем больше ее, тем лучше. Для сервера Windows NT мы рекомендуем ОЗУ с минимальной емкостью 48 Мбайт, а при использовании серверных приложений лучше задействовать ОЗУ емкостью не менее 64 Мбайт. В ходе тестирования мы пришли к выводу, что ОЗУ емкостью 48 Мбайт годится только для поддержки очень нересурсоемких офисных приложений, а также сервисов файлов и печати. В этом смысле ОС NetWare куда менее "требовательна". Так, например, для файл-сервера NetWare начального уровня вполне достаточно ОЗУ емкостью 24 Мбайт. Кроме того, необходимый объем оперативной памяти зависит и от специфики приложения. При работе с базой данных очень неплохо иметь ОЗУ, в которое помещается вся эта база.

Другие аппаратные средства и подсистемы сервера также влияют на его масштабируемость. Одним из таких средств является интерфейс периферийных устройств. У многих серверов есть несколько шин PCI (Peripheral Component Interconnect) с большим числом соответствующих гнезд расширения. Однако имейте в виду, что не все реализации многошинных подсистем PCI одинаковы. В некоторых серверах одна шина PCI подключается к другой и они используют аппаратные прерывания совместно. Лучшее решение — иметь две или три "равноправные" шины. Две такие шины (с общей пропускной способностью 267 Мбайт/с) есть у серверов фирм Compaq и Hewlett-Packard, а три — у серверов NetFRAME 9000.

Операционная система

Неправильно сконфигурированная операционная система и некорректно написанный драйвер могут значительно ухудшить характеристики сервера. Мы в нашей лаборатории только благодаря использованию улучшенного драйвера добились того, что производительность дисковой подсистемы сервера выросла на 30%.

До появления ОС NetWare SMP, которая теперь включена в IntranetWare, версии NetWare, ориентированные на мультипроцессорную обработку, отсутствовали. Стандартные загружаемые модули NetWare (NLM) не поддерживают SMP и поэтому выполняются только на первом процессоре многопроцессорного сервера. Приложения, разработанные с учетом SMP, например СУБД Oracle, используют ресурсы всех процессоров.

Для ОС NetWare крайне важным ресурсом является память. Поскольку эта ОС не поддерживает виртуальную память, нехватка оперативной памяти для нее большая проблема. Чтобы проверить, достаточно ли памяти на вашем сервере, необходимо проанализировать временную статистику LRU sitting time, которая доступна через опцию Cache Utilization модуля Monitor. LRU sitting time — это скорость обновления содержимого кэш-памяти сервера. Большие значения этого параметра (несколько часов) указывают на чрезмерный объем кэш-памяти, а относительно малые значения (несколько минут) — на недостаточный объем оперативной памяти, доступной для кэширования. Значение параметра LRU sitting time должно быть больше 15 мин. Если оно меньше, вы можете увеличить производительность сервера, добавив ему памяти. Знайте также, что максимальной производительности сервер достигает в том случае, если значение параметра Cache buffers (окно Server Memory Statistics модуля Monitor. — Прим. ред.) равно 60—70%.

Приложения

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

Системы управления базами данных, например, интенсивно используют процессор и дисковую подсистему, поэтому прежде всего обеспечьте "запас прочности" этим двум компонентам. При работе с базами данных диски, где содержатся сами данные, выполняют случайные операции ввода-вывода, а диски с журналами — последовательные операции. Поэтому, как уже отмечалось, журналы и данные следует расположить на разных устройствах. Относительно конфигурации дисковых массивов можно сказать следующее: наивысшую производительность обеспечивает массив RAID уровня 10, но он дороже RAID других уровней; RAID уровня 5 более популярен и имеет высокую производительность при чтении, но относительно низкую при записи. Мы не советуем вам применять RAID на базе операционной системы, так как для вычисления контрольных сумм он использует процессор сервера, что может очень сильно загрузить его. Лучше всего использовать системы RAID с аппаратным контролем, имеющие собственные быстрые процессор и память.

Windows NT поддерживает память емкостью до 4 Гбайт, из которых 2 Гбайт используются самой ОС, а остальные доступны приложениям. Для 99% приложений емкости 2 Гбайт более чем достаточно. Нередко такая емкость необходима для обеспечения эффективной работы очень больших баз данных.

Сколько же дисков нужно иметь на сервере? Как показывает практика, чем больше дисков, тем лучше. С увеличением их числа до 12—14 при выполнении приложений с интенсивным вводом-выводом производительность сервера заметно растет. Затем этот рост существенно замедляется. Чтобы добиться максимальной производительности, необходимо использовать несколько хост-адаптеров SCSI. И конечно, чем быстрее сами диски, тем опять-таки лучше. Для оптимизации сервера большое значение имеет знание характера операций ввода-вывода. При обработке большого числа случайных запросов наилучшими являются дисковые устройства с небольшим временем установки головок на нужную дорожку (seek time). В случае последовательных операций чтения или записи лучше всего подойдут накопители, имеющие наиболее высокие скорости вращения шпинделя, например такой, как Cheetah фирмы Seagate Technology, шпиндель которого вращается со скоростью 10 000 об/мин.

Во всех случаях желательно использовать самые современные интерфейсы для накопителей, а именно SCSI-3 или UltraSCSI. Их пропускная способность значительно больше, чем у интерфейсов SCSI-2.

Мы обнаружили, что Exchange Server загружает главным образом ЦПУ. Для повышения эффективности этого приложения желательно использовать программу Exchange Optimizer, оптимизирующую параметры Exchange. Кроме того, мы рекомендуем ограничить число пользователей, обслуживаемых одним сервером Exchange: во-первых, в связи с тем, что общий объем всех почтовых ящиков пользователей не может превышать 16 Гбайт, а, во-вторых, в этом случае легче обеспечить отказоустойчивость всей системы. И наконец, рекомендуем размещать общедоступные папки (Public Folders) и почтовые ящики пользователей на разных серверах. Это позволит оптимизировать каждый сервер для выполнения своих специфических операций (относящихся к работе с папками или с почтовыми ящиками) и увеличить максимальное число обслуживаемых пользователей.

Обычно Web-серверы интенсивно используют подсистему ввода-вывода. В большинстве случаев обслуживание Web-страниц не требует большого объема вычислений, но если вы работаете с приложениями CGI, то нагрузка на процессор может быть большой. При выполнении онлайновых коммерческих операций (электронных торгов) или Web-приложений, требующих шифрования и дешифрования данных, общая производительность сервера в основном зависит от быстродействия его процессора. Для реализации онлайновых крупномасштабных информационных систем многие компании используют RISC-платформы, например Sun UltraSPARC. Однако для большинства Web-серверов "узким" местом будет, вероятнее всего, не процессор, а низкоскоростной канал доступа к Интернет или интрасети.

Подключение сервера к сети

Сетевая подсистема сервера часто оказывается "узким" местом, которое ограничивает производительность серверного приложения. Мы наблюдали много случаев, когда мощный сервер, обслуживавший несколько сот пользователей, был связан с "внешним миром" лишь через одну сетевую плату с пропускной способностью 10 Мбит/с. Установите на каждый сервер несколько сетевых адаптеров и поддерживайте равномерную загрузку соответствующих сегментов. Используйте адаптеры, работающие в режиме ведущего абонента шины ввода-вывода (Bus Mastering) и осуществляющие прямой доступ к памяти. Они создают небольшую нагрузку на процессор сервера. Постарайтесь определить и учесть специфические особенности вашего сетевого адаптера. Так, например, в ходе тестирования мы обнаружили, что PCI-адаптер Intel EtherExpress PRO/100 быстрее работает с самой последней версией своего драйвера. Кроме того, мы наблюдали увеличение производительности сервера при отключении в адаптере режима автоматического определения скорости передачи данных и его настройке на пропускную способность 100 Мбит/с.

И последнее: обеспечьте равномерное распределение высокоскоростных адаптеров по шинам PCI — это позволит выравнить нагрузку на шины.

Контроль сервера

Если ваш сервер работает плохо, то пользователи, скорее всего, укажут вам на это. Впрочем, изменение производительности гораздо лучше отслеживать с помощью специальных средств контроля, которые входят либо в состав ОС, либо предлагаются третьими фирмами. Windows NT имеет утилиту Performance Monitor — мощное, но непростое в применении средство.

В своей лаборатории для мониторинга производительности мы используем другую программу — AppManager компании Net-IQ, специально созданную для анализа работы Windows NT и приложений BackOffice. Этот инструмент использует "интеллектуальные" сценарии, называемые Knowledge Scripts (KS) и выполняемые на контролируемом сервере. Периодически KS-сценарии сообщают информацию о работе приложений BackOffice (поддерживаются все приложения, кроме SNA Server) и записывают ее в базу данных. Мы нашли, что бета-версия этой программы проста в применении, правда несколько раз KS-сценарии загружали ЦПУ нашего ProLiant 5000 на 65%, что не очень-то хорошо для инструмента мониторинга производительности. Мы решили эту проблему, установив следующую версию AppManager. Обязательно убедитесь, что ваши контрольные средства не оказывают отрицательного влияния на производительность сервера.

Если с помощью упомянутых программ вы наблюдаете в основном за функционированием ОС и приложений, то для контроля работы аппаратного обеспечения многие производители серверов оснащают свои продукты оборудованием с поддержкой специального ПО управления сервером. Взаимодействуя с оборудованием сервера, это ПО собирает и выдает различную информацию о его работе. Добыть такую информацию иным путем невозможно. Примером ПО управления сервером, которое тесно взаимодействует с оборудованием, является Compaq Insight Manager. Это приложение собирает информацию о загрузке шин PCI и EISA, об ошибках в шине SCSI, а также о работе дисков и других подсистем серверов Compaq. Похожие средства имеются у серверов фирм Tricord Systems и NetFRAME


распечатать статью




  
7 '1997
СОДЕРЖАНИЕ

колонка редактора

• Microsoft и сыр

локальные сети

• Коммутаторы Ethernet и Fast Ethernet. Сделай правильный выбор

• Как Кристофер Робин модернизировал свое предприятие

• Масштабируемость сервера

корпоративные сети

• Лучшие продукты 1997 года

услуги сетей связи

• Оптические абонентские сети - уже сегодня

• CDMA: сказка становится былью

• Технология ADSL

интернет и интрасети

• Меняю ваучер на компьютер с доступом в Интернет

• Групповое ПО: миграция в Интернет

• Если TCP упрямится

• Прикладные программные интерфейсы для Web

защита данных

• ИБП для централизованных систем питания

• "Спасательное" ПО, или Как удержаться на плаву

новые продукты

• Коммутатор ForeRunnerLE 155 фирмы FORE Systems, Универсальный сетевой анализатор PrismLite

только на сервере

• Вокруг сетевого компьютера

• Интернет в вопросах и ответах

• Рецепты для корпоративных пользователей Интернет



 Copyright © 1997-2007 ООО "Сети и Системы Связи". Тел. (495) 234-53-21. Факс (495) 974-7110. вверх