DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Задержка в очереди и время отклика


Как вы уже знаете, ожидаемая задержка в очереди (W) - это тот проме­жуток времени, который, как ожидается, должен пройти между мо­ментом поступления запроса в систему и моментом начала его обслу­живания. Следовательно, для вашего запроса задержка в очереди будет равна сумме ожидаемых значений времени обслуживания для запро­сов, которые находятся в очереди перед вашим. Возможность прогно­зирования времени задержки в очереди - одно из замечательных пре­имуществ теории массового обслуживания. Величина задержки в оче­реди зависит не только от среднего времени обслуживания необходи­мого вам устройства, но и от количества запросов, которые уже будут стоять в очереди, когда в нее попадет ваш запрос.
Вывести формулу прогнозирования времени задержки в очереди без специальных знаний в данной области нелегко, но, к счастью, вся эта нелегкая работа уже была сделана до нас. Для системы массового об­служивания M/M/m (точное определение которой будет дано ниже) она выглядит следующим образом:


где:
Сложнее всего было получить формулу для C(m, р). Эта задача была ре­шена в 1917 г. датским математиком Агнером Эрлангом [Erlang (1917)]. Формула Эрланга1 служит для получения вероятности того, что запрос будет поставлен в очередь на предоставление обслуживания.
Не путайте C из формулы Эрланга с C, обозначающим количест­во обслуженных запросов системы. Обычно из контекста легко понять, какое из двух C имеется в виду, т. к. C, относящееся к формуле Эрланга, всегда записывается как функция с двумя аргументами.
Программная реализация формул Эрланга требует чуть большего объе­ма математических знаний, чем тот, которым обладает большинство из нас. Однако в 1974 году ученый-исследователь Дэвид Ягерман (David Jagerman) разработал быстрый алгоритм, реализующий формулу Эр­ланга [Jagerman (1974)] и позволяющий без труда вычислить ожидае­мое время задержки в очереди для системы. Я использовал алгоритм Ягермана в примере 9.1.
Если известны ожидаемое время обслуживания системы и ожидаемое время задержки в очереди, то задача вычисления ожидаемого времени отклика становится тривиальной. Ожидаемое время отклика систе­мы - это (как мы уже не раз говорили) сумма ожидаемого времени об­служивания и ожидаемой задержки в очереди, R = S + W.
На рис. 9.6 представлена т-канальная система массового обслужива­ния. Запросы поступают со средней скоростью X запросов в единицу времени. Продолжительность времени между поступлением двух по­следовательных запросов равна т. Каждый из т параллельных кана­лов выполняет обслуживание запросов со средней скоростью ц запро­сов в единицу времени, в среднем тратя на обслуживание одного за­проса единиц времени.
Максимальная рабочая пропускная способность
Максимальная рабочая пропускная способность системы - это наи­большая частота поступлений, которые система может обработать без превышения допустимого значения пользовательского времени от­клика rmax. Максимальная рабочая пропускная способность системы, изображенной на рис. 9.7, равна величине Xmax. По мере возрастания интенсивности поступления запросов в систему увеличивается среднее время задержки в очереди, и время отклика системы растет. Пропуск­ная способность системы, при которой время отклика оказывается вы­ше допустимого пользовательского предела, и является максимальной рабочей пропускной способностью, Xmax. Это тот максимум производи­тельности, которого можно требовать от системы, не опасаясь чрезмерно ухудшить среднее время отклика.

Рис. 9.7. Время отклика является функцией скорости поступления запросов. Определив среднее допустимое время отклика rmax, получаем значение Xmax -наибольшее значение пропускной способности, которое система может обеспечить без превышения порогового значения времени отклика
Для обеспечения удовлетворительного времени отклика необходимо, чтобы интенсивность поступления запросов в систему была меньше Xmax, так что необходимо уметь вычислять эту величину. Аналитиче­ского решения для получения значения Xmax не существует, но есть бы­стрый и простой способ оценки этого значения методом деления интер­вала пополам. Программа на Visual Basic, выполняющая такое вычис­ление, приведена в примере 9.2.

В примере 9.2 упоминаются такие объекты, как переменная и функция ResponseTime, определенные в электронной книге Microsoft Excel - ее можно найти по адресу http://www.oreilly .com/catalog/optoraclep.
 









jAntivirus