.RU
Карта сайта

11.4. Оптимизация настроек компьютера / Самоучитель системного администратора

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

Однако во многих случаях причиной неудовлетворительной работы является какое-либо узкое место в конфигурации системы ("бутылочное горлышко", Bottleneck). И "расшивка" его может оказаться экономически существенно более оправданной, чем покупка нового сервера. Кроме того, правильная конфигурация сможет сэкономить существенные средства. Что такое "медленно"

Удовлетворенность производительностью системы — субъективная оценка. Если для пользовательского интерфейса время реакции не должно составлять более 0,6 сек (например, после щелчка мышью по команде диалоговое окно с параметрами должно появиться за указанный промежуток), то длительность обработки данных зависит от многих параметров: объема данных, сложности вычислений и т. п. Так, в зависимости от условий вычисление может считаться быстрым, если оно завершится за 5 минут, а другое — если быстрее чем за 8 часов. Например, для квартального закрытия склада можно выделить всю ночь, но для открытия типовых форм кадрового учета не должно затрачиваться более нескольких секунд.

Поэтому медленной можно назвать такое функционирование информационной системы, которое не обеспечивает разумную комфортность работы пользователей. Основные узкие места системы

Узким местом производительности информационной системы обычно становится один из следующих компонентов:

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

В счетчиках постоянно обновляются показатели. Это обновление можно отключить, но особого смысла такая операция не имеет: на производительность системы счетчики практически не оказывают влияния. В операционных системах на базе ядра Windows NT для отображения состояния счетчиков служит программа Производительность (Performance Monitor). Для *nix-операционных систем можно найти большое количество утилит, но наиболее популярными являются: top (отображает загрузку процессора, использование памяти и данные по наиболее загруженным процессам), iostat (показывает загрузку процессора и параметры использования дисков), nmon (отображает основные параметры нагрузки и позволяет записывать их с заданной периодичностью в файл с последующей обработкой и формированием отчетов) и др.

Число счетчиков непостоянно и может меняться в зависимости от установленного программного обеспечения и подключенного оборудования. Хотя суммарное число доступных для наблюдения и анализа показателей весьма велико (для Windows-системы составляет несколько сотен параметров), но для качественной оценки информационной системы достаточно перечисленных далее. Полный спектр параметров доступен для анализа только квалифицированным специалистам в целях тонкой настройки приложений.

Администраторы сейчас могут найти не одну программу, которая соберет данные производительности системы и сформирует общие рекомендации. Например, Server Performance Advisor от Microsoft (бесплатное ПО) позволяет в течение нескольких минут составить отчет по параметрам системы и представить его руководителю. Но, на взгляд автора, системный администратор должен владеть основами оценки параметров системы.

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

Таблица 11.2.
Показатели производительности

Параметр

Состояние компьютера

оптимальное

перегруженное

Процент загрузки процессора

< 40%

> 80-90%

Средняя длина очереди заданий процессора

< 2

>4

Процент загрузки процессора обслуживанием системы/процент времени ожидания процессором

< 4%

> 10%

Обмен страниц памяти в секунду

< 500

> 1000

Среднее время операции записи-чтения на логический диск

< 15 мсек

> 25 мсек

Средняя длина очереди операций записи-чтения на диск

< 0,2

> 0,6

Процент использования полосы пропускания сетевого адаптера

< 40%

> 60%

Очередь на передачу пакетов в сетевом адаптере

0 пакетов

> 2 пакетов Оценка производительности процессора

В современные серверы, как правило, устанавливают не по одному многоядерному процессору. И в условиях "среднего" предприятия увидеть загрузку процессоров компьютера, близкую к 100%, маловероятно. При этом именно процессор может быть узким местом.

Связано это с тем, что показатель производительности подсчитывается усредненно по всем процессорам, а многие расчеты в приложениях не могут быть распараллелены: сначала нужно вычислить одну величину, потом она будет использована в других расчетах и т. д. Поэтому если какой-либо прикладной процесс (например, процесс сервера базы данных) выполняется в одну нить, то соответствующая загрузка процессора будет показываться как 100%/(число процессоров) и распределится (в программе Производительность) между всеми ядрами/процессорами.

Поэтому более информативным будет анализ непроизводительных расходов процессора. В случае Windows-систем это будет счетчик Processor\% Privileged Time, для Linux-компьютеров нужно оценивать время, затрачиваемое процессором на системные операции и ожидание готовности других устройств. На рис. 11.16 приведен листинг утилиты iostat. В строке avg-cpu показаны характеристики загрузки процессора: параметр %system отображает загрузку системными операциями, %iowait — время, затрачиваемое на ожидание завершения операций ввода-вывода на диски.

Рис. 11.16.
Листинг утилиты iostat

Если процент времени, затраченного процессором на служебные цели, составляет 5% и более (примерно), то необходимо принять меры к минимизации этой нагрузки. Возможными причинами могут быть избыточное количество одновременно запущенных программ (время тратится на переключение между процессами), проблемы с оборудованием (увеличенное число прерываний от устройств) и т. д.

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

System\Processor Queue Length (all instances).

Processor\Interrupts/sec.

Оценка использования оперативной памяти

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

Объем свободной памяти.

Memory\Pages/sec.

Оценка дисковой подсистемы

Дисковая подсистема может существенно снижать производительность компьютера, поскольку она является самым медленным компонентом.

Интегральным показателем оптимальности используемой дисковой подсистемы является длина очереди заданий.

LogicalDisk (PhysicalDisk)\Avg. Disk Queue Length.

% Disk Time.

Определение источника дисковой активности.

Рис. 11.17.
Окно программы Монитор ресурсов с отфильтрованными данными дисковой активности

Для Linux-систем аналогичной функциональностью обладает, например, утилита iotop, позволяющая вывести на экран названия процессов с наибольшей дисковой активностью и отобразить соответствующие файлы

Показатели производительности дисков.

Существует несколько утилит, предназначенных для проверки параметров скорости работы устройств хранения, но наиболее известным и практически профессиональным инструментом является lometer (http://sourceforge.net/projects/iometer/ files/) — пакет, первоначально разработанный Intel и впоследствии переданный сообществу open-source.

Программа позволяет получить реальные параметры работы устройств хранения, однако для получения результата необходимо сначала внимательно ознакомиться с документацией (на что часто не хватает желания у системных администраторов). Причина в том, что в настройках программы необходимо указать большое количество параметров, влияющих на оценку производительности. Например, размер блоков хранения, процент операций записи-чтения и т. д. Причем эти значения будут различны для отличающихся вариантов использования дисков: одни значения необходимо указать для проверки дисков, предназначенных для работы с базами данных, другие — для файловых серверов и т. п. Для упрощения можно использовать вариант параметров, изначально разработанный Intel, который можно загрузить со страницы http://docs.aboutnetapp.ru/iometer2.icf. Скопированный с этой страницы текст нужно сохранить в файле и импортировать эти настройки в конфигурацию программы.

Комплект поставки включает два файла. Dinamo используется для управления тестированием на нескольких устройствах, iometer — файл, который следует запустить для проверки. После запуска следует импортировать файл конфигурации, как описано ранее, не забыть ограничить размер файла, который создается для тестирования в корне диска (заменить значение Maximum Disk Size на допустимое число секторов1 в файле теста, иначе файл будет создан на всем свободном пространстве диска) и выбрать на вкладке Access Specifications необходимые тесты. По умолчанию в программе создается такое число процессов тестирования (worker), которое соответствует числу процессоров в системе. Но их количество можно изменить, как и сменить количество одновременных потоков ввода-вывода (# of Outstanding IO). Простые приложения обычно используют 1—4 потока ввода-вывода, приложения уровня предприятия, например Oracle, могут создавать и до 256 потоков. Из других параметров, которые можно настроить, отметим Ramp Up Time (время на разогрев диска перед началом теста) и Run Time — максимальное время тестирования (если вы хотите завершить тестирование по истечении заданного периода времени).

После запуска теста на вкладке Results Display можно наблюдать за получаемыми значениями (следует только назначить моменты обновления данных — рис. 11.18). Обратите внимание, что набор отображаемых на диаграмме параметров допускает изменения по желанию оператора. Итоговые значения тестирования будут сохранены в csv-файле, который можно будет впоследствии проанализировать.

Рис. 11.18.
Параметры диска, отображаемые утилитой iometer
Пути оптимизации дисковой подсистемы

Какие могут быть варианты решения проблемы при обнаружении узкого места в дисковой подсистеме?

Самый эффективный путь — добавление жестких дисков в соответствующий RAID-массив, на базе которого создан логический диск. Чем больше жестких дисков объединены в логический, тем более производительным он будет.

Во-вторых, если позволяет устройство хранения, выберите оптимальные для используемого типа данных варианты RAID-массивов. Не забывайте, что самый популярный тип массива — RAID5 — не является самым быстрым.

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

Убедитесь, что в системе установлено достаточно оперативной памяти. Увеличьте ее при нехватке.

Обратите внимание, чтобы на дисках было достаточно свободного места (не менее 20% их объема). Проведите дефрагментацию дисков, уменьшите или исключите использование сжатия и шифрования файлов на тех дисках, на которых выявлена проблема низкой производительности. Для NTFS-дисков можно отключить запись имен файлов в формате 8.3 и запись времени последнего доступа к файлу (для чего в ветви HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Filesystem надо установить в значение 1 параметры NtfsDisable8dot3NameCreation и NtfsDisableLastAccess соответственно).

Если эти операции не приведут к успеху, следует искать возможность приобрести более быструю дисковую подсистему.

Оценка работы сетевого адаптера

Для оценки работы сетевого адаптера используется тот же подход, что и для подсистемы ввода-вывода системы хранения: использование полосы пропускания должно быть ниже предела скорости передачи и очереди на отправку пакетов не должно быть.

Обычно считается допустимым среднее значение очереди, равное 1.

Что касается использования полосы пропускания, то для сети, выполненной по стандарту Ethernet, — а это практически все локальные компьютерные сети,— величина утилизации сети равная 60% уже считается критической; на практике следует внимательно проанализировать работу сети при достижении порога утилизации порядка 30—40%. Администраторы обычно используют для оценки состояния сети различные SNMP- и RMON-мониторы, которые имеют возможность автоматически высылать предупреждения при достижении установленных пороговых значений.

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

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

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

После установки дополнительного сетевого адаптера данные будут передаваться одновременно по нескольким каналам, в результате чего нагрузка на отдельный канал снизится (примерно пропорционально числу каналов) и будет находиться в приемлемых диапазонах. Такое объединение (агрегирование) сетевых адаптеров на серверной стороне канала передачи реализуется программным обеспечением сетевых адаптеров наиболее известных вендоров (например, ProSet для адаптеров изготовления фирмы Intel). Поэтому лучше всего при установке дополнительного адаптера выбирать модель, идентичную уже установленной в сервере. Соответствующие возможности нужно уточнить по документации.

Аналогично, если не хватает полосы пропускания между двумя коммутаторами локальной сети, то следует создать вторую, параллельную линию связи и объединить их (агрегирование каналов средствами коммутационного оборудования). Для регулировки (чтобы минимизировать влияние сетевого трафика одних программ на другие) следует ввести настройки качества обслуживания (установить приоритеты трафика) и ограничения используемой полосы пропускания (так называемый shaping). Некоторые советы по анализу показаний производительности

Чтобы снятие показаний счетчиков меньше сказывалось на загрузке проверяемой системы, лучше всего эту операцию делать удаленно, например, подключая задачу Производительность к удаленному серверу. Если вы хотите, чтобы работа самой программы при отображении данных вносила минимальные искажения в параметры производительности, то запускайте ее с низким приоритетом (start /low для Windows-систем).

Для объективной оценки производительности системы необходимо использовать усредненные за некоторый период показания счетчиков. Чем за больший период времени будут сняты показания, тем более объективные выводы оценки производительности системы можно будет выполнить. Например, кратковременная загрузка процессора, близкая к 100%, при выполнении расчета вполне допустима. Но если процессор загружен более 70% в течение длительного периода времени, то этот факт свидетельствует о необходимости расшивки данного узкого места.

Как правило, программы мониторинга производительности имеют возможность записи показаний счетчиков в файл в реальном режиме времени. Администратору необходимо только задать периодичность снятия показаний и указать длительность записи. В качестве примера на рис. 11.19 приведен один из графиков отчетов, сформированных программой nmon (бесплатное ПО для мониторинга производительности *тих-систем) реального компьютера. Часто такие отчеты снабжаются указаниями на параметры, значения которых зафиксированы в неоптимальных коридорах.

Рис. 11.19.
Один из графиков отчета по данным мониторинга AIX-системы программой nmon

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

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

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

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

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

Задача администратора в подобной ситуации — выяснить причины проблемы и подсказать возможные пути их разрешения.

1Не забывайте, что один сектор равен 512 байтам. Соответственно и рассчитывайте размер файла.


2014-07-19 18:44

  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • © sanaalar.ru
    Образовательные документы для студентов.