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

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


Ограничения дискового ввода-вывода

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

Для того чтобы задать верхнюю и нижнюю границы для числа ожидающих операций ввода-вывода, выберите в меню SMIT Среда системы -> Изменить свойства операционной системы(smitty chgsys) и укажите число страниц для верхней и нижней границ. По умолчанию граничные значения равны 0, что означает отсутствие ограничений. Изменения значений maxpout и minpout вступают в силу немедленно и действуют до следующего изменения.

Пример

Влияние ограничения ввода-вывода на производительность можно проследить по результатам эксперимента, заключающегося в запуске сеанса vi для нового файла, в то время как в рамках другого процесса утилита cp обрабатывает файл размером 64 Мб. Файл копируется с диска hdisk1 на диск hdisk0, а исполняемый файл vi находится на диске hdisk0. Для запуска сеанса vi эта утилита должна загрузить свой код в память, а также загрузить и выгрузить несколько страниц данных. Это означает приблизительно 50 физических операций ввода-вывода, что в системе с низкопроизводительным процессором при отсутствии других обращений к диску займет приблизительно 0,71 с. Если верхнее ограничение ввода-вывода равно 0 (значение по умолчанию), скорость поступления логических запросов на запись, генерируемых утилитой cp, опережает скорость выполнения физических операций записи, в результате чего образуется большая очередь.

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

Верхнее ограничение Нижнее ограничение cp, с vi, с
0 0 50 vi не запущен
0 0 50 vi загружен после выполнения cp
9 6 77 2.7
17 8 64 3.4
17 12 58 3.6
33 16 55 4.9
33 24 52 9.0

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

Верхнее и нижнее ограничения были выбраны методом проб и ошибок на основании наших представлений о процессах ввода-вывода. Выбор этих значений весьма непрост вследствие того, что в системе одновременно выполняются выгрузка обработанных страниц и асинхронные операции записи. Если верхняя граница равна (4*n)+1, где n - целое положительное число, производительность повышается по следующим причинам:

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

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

Потребность в ограничении ввода-вывода может возрасти при наличии в рабочей схеме программ следующих типов:


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