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

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

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

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

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

Самый простой с точки зрения учета ресурс — время использования центрального процессора (ЦП). В распоряжении системы бывает всегда примерно одна и та же часть его мощности. Теоретически эта величина составляет все 100% циклов ЦП, но "накладные расходы" и другие причины снижают эту цифру где-то до 95%. Для процесса, занимающего более 90% времени ЦП, ограничивающим фактором является быстродействие центрального процессора. Такой процесс потребляет большую часть вычислительных мощностей системы.

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

Настоящее узкое место в UNIX-системах — канал обмена данными с жестким диском. Жесткие диски представляют собой механические системы, поэтому на поиск необходимого блока, выборку его содержимого и пробуждение ожидающего его процесса уходят десятки миллисекунд. Задержки такого порядка отодвигают на второй план все остальные источники ухудшения производительности. Каждое обращение к диску вызывает приостановку активного процесса "стоимостью" в несколько миллионов команд ЦП.

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

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



 (голосов: 2)
Версия для печати | Комментариев: 0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.


 
Логин
Пароль
 

 
Locations of visitors to this page