[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]

Руководство по настройке производительности


Настройка производительности - Введение

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

  1. Определение рабочей схемы системы
  2. Определение целей:
    1. Определение способов измерения параметров
    2. Оценка и выбор наиболее приоритетных объектов для оптимизации
  3. Определение наиболее важных ресурсов, ограничивающих производительность системы
  4. Снижение потребности в ресурсах, ограничивающих производительность:
    1. Использование оптимального ресурса, если есть выбор
    2. Снижение потребности отдельных программ и функций системы в ресурсах, ограничивающих производительность
    3. Обеспечение параллельного использования ресурсов
  5. Изменение правил выделения ресурсов с учетом приоритетов
    1. Изменение приоритетов и ограничений на использование ресурсов отдельных программ
    2. Изменение параметров управления ресурсами системы
  6. Повторяйте действия 3- 5 до тех пор, пока не будут достигнуты поставленные цели (или исчерпаны возможности настройки)
  7. При необходимости, увеличение объема ресурсов

Для выполнения описанных действий по настройке производительности системы предусмотрены специальные инструменты (дополнительная информация приведена в разделе Приложение A. Команды и функции для отслеживания и настройки производительности). Некоторые из этих инструментов выпускаются фирмой IBM. На приведенном ниже рисунке проиллюстрированы различные этапы настройки производительности системы, подключенной к сети LAN.

Рис. 1-2. Этапы настройки производительности. На этом рисунке этапы настройки производительности системы изображены в виде пяти окружностей: планирование, установка, отслеживание, настройка и наращивание ресурсов. Каждая окружность представляет различные состояния системы: простаивает, несбалансирована, сбалансирована и перегружена. Обратите внимание, что если система перегружена, то требуется увеличить объем ее ресурсов, если нужно сбалансировать нагрузку, то требуется настроить параметры системы, если система несбалансирована, то требуется собрать информацию о ее производительности, а если нужно увеличить мощность системы, то требуется установить дополнительные ресурсы.

Рисунок h01i6

Определение рабочей схемы

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

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

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

Определение целей

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

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

Определение наиболее важных ресурсов

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

Все ресурсы системы делятся на физические и логические. Среди физических ресурсов проще выделить те, которые влияют на производительность системы, поскольку в системе предусмотрено много средств для оценки использования физических ресурсов. Чаще всего производительность системы зависит от следующих физических ресурсов:

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

Ниже приведены некоторые примеры логических ресурсов, созданных на основе физических ресурсов:

Процессор

Оперативная память

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

Сеть

Логические ресурсы необходимо учитывать наравне с физическими. Работа нитей с равной вероятностью может быть заблокирована как из-за отсутствия логического ресурса, так и из-за нехватки физического ресурса. Увеличение объема физического ресурса, на основе которого создан логический ресурс, не гарантирует, что будут созданы дополнительные логические ресурсы. В качестве примера рассмотрим демон блочного ввода-вывода NFS (biod, см. Настройка производительности NFS). Для обработки каждого ожидающего удаленного запроса NFS на ввод-вывод на клиенте применяется отдельный демон biod. В связи с этим, число демонов biod ограничивает число операций ввода-вывода NFS, выполняемых системой параллельно. С помощью системных функций вы можете проверить, что когда в системе нет свободных демонов biod, процессор и каналы связи загружены весьма незначительно. У вас может возникнуть ложное впечатление, что система не полностью загружена, хотя на самом деле в системе не хватает демонов biod, что не дает возможность использовать другие ресурсы системы. Для работы демона biod необходимы ресурсы процессора и оперативная память, однако в описанной ситуации проблему нельзя решить путем увеличения объема дисковой памяти или замены процессора на более мощный. Вместо этого нужно создать дополнительные логические ресурсы (демоны biod).

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

Снижение потребности в ресурсах, ограничивающих производительность

Снижение потребности в ресурсах, ограничивающих производительность, можно разбить на три этапа.

Использование оптимальных ресурсов

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

Снижение потребности в ресурсах

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

Параллельное использование ресурсов

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

Выделение ресурсов с учетом приоритетов

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

Повторение этапов настройки

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

Процессор: 90% Диск: 70% Память: 60%

Работа такой системы зависит от скорости процессора. Если вам удастся настроить рабочую схему таким образом, что значение показателя использования процессора сократится с 90 до 45 процентов, то вы вправе ожидать, что производительность возрастет в два раза. Однако на деле получится, что теперь производительность системы ограничена скоростью дискового ввода-вывода, а показатели использования ресурсов станут примерно следующими:

Процессор: 45% Диск: 90% Память: 60%

Снижение нагрузки на процессор позволяет программам быстрее передавать запросы на общение к диску, в результате чего может быть достигнуто ограничение на использование диска. В результате производительность возрастет всего лишь на 30 процентов, а не на 100.

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

Увеличение объема ресурсов системы

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


[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]