Анализ производительности
Категория: Анализ производительности | Автор: admin | 20-06-2010, 23:55

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

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

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

В частности, относитесь скептически ко всему, что пишется в Internet. Какие только аргументы не приводятся в дискуссиях по производительности систем! При этом большинство сторонников всевозможных теорий не обладает ни знаниями, ни дисциплиной, ни временем, необходимыми для проведения достоверных экспериментов. Широкая поддержка пользователей также ничего не значит, ибо каждое глупое предложение очень часто сопровождается хором восторженных комментариев: "Я увеличил размер кэш-буфера в десять раз, как предложил Джо, и система заработала ГОРАЗДО, ГОРАЗДО быстрее!!!".

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

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

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


Просмотров: 2450 | | Комментариев: 0
  Как повысить производительность
Категория: Анализ производительности | Автор: admin | 20-06-2010, 23:58

Приведем ряд советов, касающихся повышения производительности.

  • Убедитесь, что в системе достаточно памяти. Как будет показано ниже, объем памяти — один из основных факторов, влияющих на производительность. Память сегодня столь дешевая, что ее можно оперативно наращивать при первых же признаках загруженности системы.
  • Устраните проблемы, связанные с использованием ресурсов. Проблемы могут создаваться как пользователями (одновременный запуск слишком большого количества заданий, неэффективные методы программирования, выполнение заданий с завышенным приоритетом, запуск громоздких программ в часы пик), так и самой системой (квоты, учет времени центрального процессора, ненужные демоны).
  • Если UNIX-система используется в качестве Web-сервера или сетевого сервера приложений, распределите трафик между несколькими компьютерами с помощью коммерческой системы выравнивания нагрузки, например Local Director компании Cisco (www.cisco.com) или ACEswitch компании Alteon Networks (www.alteonwebsystems.com). Эти устройства делают так, что несколько физических серверов начинают восприниматься внешним миром как один логический сервер. Распределение нагрузки осуществляется по алгоритму, выбираемому пользователем. Такие системы обеспечивают также избыточность данных на случай, если один из серверов выйдет из строя. Они совершенно необходимы, если система должна выдерживать внезапные "всплески" активности.
  • Организуйте жесткие диски и файловые системы так, чтобы сбалансировать нагрузку на них и таким образом максимально повысить пропускную способность средств ввода-вывода. В специфических ситуациях, например при работе с базами данных, можно использовать технологию RAID, позволяющую оптимизировать обмен данными. Необходимо отметить, что разные приложения и СУБД по-разному ведут себя, будучи распределенными на несколько дисков. У технологии RAID имеется несколько вариантов реализации, поэтому придется потратить усилия на выяснение того, какой из них (если таковой вообще имеется) подходит для данного конкретного случая.
  • Осуществляйте текущий мониторинг сети, чтобы избежать ее перегрузки и добиться низкого коэффициента ошибок. Сети можно контролировать с помощью программы netstat.
  • Сконфигурируйте ядро так, чтобы отключить ненужные драйверы и опции, а также использовать системные таблицы корректного размера.
  • Выявите ситуации, когда система совершенно не удовлетворяет предъявляемым к ней требованиям.

Просмотров: 2771 | Подробнее... | Комментариев: 0
  Факторы, влияющие на производительность
Категория: Анализ производительности | Автор: admin | 21-06-2010, 00:01

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

  • время использования центрального процессора;
  • память;
  • полоса пропускания дисковой подсистемы ввода-вывода;
  • полоса пропускания сетевой подсистемы.

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

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


Просмотров: 4925 | Подробнее... | Комментариев: 0
  Проверка производительности системы
Категория: Анализ производительности | Автор: admin | 21-06-2010, 00:11

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

 

Анализ использования центрального процессора

 

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


Просмотров: 10772 | Подробнее... | Комментариев: 0
  Помогите! Моя система почти остановилась!
Категория: Анализ производительности | Автор: admin | 21-06-2010, 00:16

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

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

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

Первый шаг в установлении диагноза — запуск команд ps и top для выявления заведомо неуправляемых процессов. Любой процесс, потребляющий более 50% времени ЦП, можно с большой долей вероятности считать ненормальным. Если столь непомерную долю ресурсов ЦП не получает ни один процесс, посмотрите, сколько процессов получают минимум по 10%. Когда их больше двух-трех (не считая самой команды ps), то средняя нагрузка, скорее всего, будет очень высокой. Такая ситуация сама по себе является причиной низкой производительности. Проверьте среднюю загруженность системы с помощью команды uptime, а затем вызовите команду vmstat или sar -u, чтобы узнать, простаивает ли когда-нибудь процессор.


Просмотров: 2602 | Подробнее... | Комментариев: 0


 
Логин
Пароль
 

 
Locations of visitors to this page