On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru






 

Identifying and Resolving Server Bottlenecks

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

Узкое место (bottleneck) это такое условие или состояние дел, при котором замедляется свободное передвижение или появляются некоторые ограничения.

(?) Longman Dictionary of Contemporary English

(A bottleneck is a condition or state of affairs that slows down free movement or the rate of advance - Longman Dictionary of Contemporary English)

Существует пять потенциально опасных мест сервера:

1. Процессор

2. Память

3. Дисковая подсистема

4. Загруженность сети

5. Другое.

В общем случае, все узкие места системы могут быть разделены на две области:

1. Внутренние по отношению к серверу (то есть процессор, скорость шины, эффективность устройств, сетевые платы и пр.)

2. Внешние по отношению к серверу (например, перегрузка в сети, проблемы с сетью, ограничения носителей). Задайте себе, например, такой вопрос: Получу ли я всю возможную производительность от сервера, на котором стоит быстрейший процессор в мире и жесткий диск IDE?. Ответ: НЕТ!

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

1. На каких серверах возникает проблема?

2. В каких сегментах, и на каких местах возникает проблема?

3. Привязана ли проблема к какому-либо приложению?

4. Сравнить состояние проблемной системы с безпроблемными, для получения более широкой картины происходящего (Ask around for fresh perspective). 5. Привязана ли проблема к определенному времени суток?

6. Не привязана ли проблема к определенным действиям? (например, к переиндексации базы данных или к копированию большого файла).

Для отслеживания узких мест системы можно использовать следующие инструменты: 1. Пакеты программ для управления сетью (ManageWise, HP Openview)

2. Сетевые анализаторы (LANalyzer for Windows/ManageWise, Sniffer, Fluke meteres)

3. Средства наблюдения за сервером (экран MONITOR.NLM на сервере NetWare)

Зная потенциально узкие места системы, давайте найдем на экране MONITOR'а пункты, дающие возможность их отслеживать. В системе NW4.11 есть семь основных параметров, по которым вы можете узнавать текущее состояние вашего сервера:

1. Utilization (Процессор)

2. Total Cache Buffers (Оперативная память)

3. Dirty Cache Buffers (Жесткий диск)

4. Current Disk Request (Жесткий диск)

5. Packet Receive Buffers (Сеть)

6. Directory Cache Buffers (Жесткий диск)

7. Current and Maximum Service Processes (Остальное)

Пожалуйста, ознакомьтесь со статьями TID2943356 и TID2943472, которые посвящены проблемам производительности, настройки и оптимизации. (From FAQ Creator: Эти TID'ы пеpеведены: пеpевод этих TID'ов находится в фале Add_On\Tune.Txt этого FAQ'а)

Существует два метода оптимизации вашего сервера:

1. Вы можете оптимизировать сервер, чтобы устранить уже имеющиеся узкие места системы.

2. Вы можете построить стратегию оптимизации так, чтобы предотвратить появление проблем.

I. Процессор.

Проверьте процент утилизации (Utilization). Для того, чтобы найти процесс, забирающий основной объем ресурсов процессора, выберите Processor Utiltzation и нажмите клавишу F3. Если причиной загруженности сервера является загрузка процессора, смените процессор. Для наблюдения за тенденциями по загрузке процессора вы можете использовать NetWare Management Agent и ManageWise. Если процессор сервера постоянно загружен свыше 80%, значит подошло время увеличить его мощность. Кроме того, выдолжны проверить на сервера параметры сжатия (Compression) и распаковки (Decompression).

II. Память.

a. Original cache buffers параметр, показывающий память сервера в блоках по 4К.

b. Total cache buffers память, доступная на сервере в блоках по 4К

c. Resource utilization -> Cache buffers доступная память в процентах.

d. Cache utilization -> LRU sitting time - время, в течении которого Наиболее Часто Используемый (Least Recently Used) буфер находится в памяти.

Если размер параметра Cache Buffers упал ниже 40%, добавьте больше памяти. Если значение LRU sitting time в периоды пиковой нагрузки становиться ниже, чем 15 минут, добавьте больше памяти.

III. Дисковая подсистема

a. Dirty cache buffers параметр, указывающий на количество грязных буферов памяти, не записанных обратно на диск.

b. Current disk requests количество запросов к диску, ожидающих выполнения.

c. Disk information - Device -> <TAB> - redirected blocks (перенаправленные блоки) показывают количество сбойных блоков в дисковой подсистеме.

Если у вас количество грязных буферов кэша и текущих запросов к дискам, постоянно держится на высоком значении, попробуйте исправить настройки сервера с помощью утилиты SERVMAN (для справки обратитесь к указанным выше статьям по производительности, настройке и оптимизации). Если и после этого значение этих параметров остается высоким, это означает, что дисковая подсистема не способна справиться с нагрузкой. Вы должны либо установить более производительные устройства, либо уменьшить нагрузку на сервер. Проблемы оптимизации дисковой подсистемы весьма подробно отражены в уже упоминавшихся TID'ах. Кроме того, вы должны обратить свое внимание на такие параметры, как сжатие, распаковка, количество свободных блоков, процент свободного пространства на дисках, включенная проверка записи на диск, RAID5, зеpкалиpование и дуплексирование. (сompression, decompression, suballocation, number of free blocks, percentage of free disk space, read after write verification, RAID5, mirroring and duplexing)

IV. Загрузка сети.

a. LAN/WAN Information -> Driver это неплохой, но грубый анализатор раздела сети, в котором находится ваш сервер.

b. No ECB Available Count аббревиатура ECB означает Блок Контроля События (Event Control Block). Это счетчик, который увеличивается в случае, если устройство посылает пакет на сервер NetWare, однако в наличии не оказывается свободных буферов для принятия пакетов (packet receive buffers).

Когда данный счетчик показывает высокое значение, это значит, что серверу не хватает выделенных буферов принятия пакетов (Packet Receive Buffers).

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

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

V. Другие причины.

a. Архитектура внутренней шины. Основные аппаратные шины функционируют на частоте 66MHz. В настоящее время разработаны стомегагерцовые шины. Используйте устройства на базе ISA только в небольших сетях. Где возможно используйте PCI.

b. Выбирайте соответствующие технологии для процессора, памяти, дисков и локальной сети.

c. Правильно планируйте сеть, так как правильный дизайн играет большую роль в производительности сети. Старайтесь правильно спланировать дерево NDS, разделы (partition) и стратегию реплицирования (replication), расположение серверов и т.п.



Литература по NetWare