Примените модель массового обслуживания M/M/m для проверки всех результатов рассмотренного нами примера.
Проектировщики нового международного терминала в аэропорту Millsap International Airport (MQP) города Миллсап в Техасе обратились к вам за помощью в оптимизации времени обслуживания клиентов. Каждый из новых высокотехнологичных кассовых залов будет вмещать шесть билетных касс. Строители аэропорта просят помочь решить, следует ли им организовать одну длинную очередь для направления клиентов ко всем 6 кассам (конфигурация M/M/6) или же шесть коротких очередей, каждая из которых относилась бы только к определенному кассиру (шесть независимых систем M/M/1). Используйте модель массового обслуживания M/M/m для определения того, какая конфигурация обеспечит наименьшее время отклика для клиентов.
Перед клиентом стоит выбор: какой из двух компьютеров купить? Модель H имеет один процессор, который способен выполнять 40 000 операций логического чтения (LIO) Oracle в секунду. Модель L имеет четыре процессора в симметричной многопроцессорной конфигурации, но каждый из этих процессор может выполнять всего 15 000 операций LIO в секунду. Какой компьютер следует приобрести?
Напишите программу для измерения интервалов времени между поступлениями запросов от вашего диспетчера очереди пакетных заданий. Подчиняются ли полученные значения экспоненциальному распределению? Удастся ли обнаружить экспоненциально распределенные подмножества данных, сузив круг программ, для которых собираются данные? Удастся ли обнаружить экспоненциально распределенные подмножества данных, сузив тот промежуток времени (время суток), для которого собираются данные?
Позволяет ли ваш диспетчер очереди пакетных заданий измерить реальное время обслуживания заданий? Например, можно ли для указанного задания определить, сколько процессорного времени было израсходовано? Если это возможно, то напишите программу для получения времени обслуживания от вашего диспетчера очереди пакетных заданий. Подчиняются ли полученные значения экспоненциальному распределению? Можно ли выделить экспоненциально распределенные подмножества данных? Если диспетчер очереди пакетных заданий не измеряет реальное время обслуживания, то как можно получить такие данные?
6. Брокерская инвестиционная компания приобрела лицензию на Oracle Server и собирается спроектировать и создать клиентское приложение для обработки транзакций по инвестиционным сделкам. Код еще не написан, но бизнес-требования состоят в том, что конечный пользователь должен получать результат запроса или подтверждение выполнения транзакции в течение трех секунд после нажатия на кнопку, инициирующую соответствующее действие. Компания планирует обрабатывать 30 000 транзакций за рабочий день континентальной части США, при этом в пиковый период интенсивность предполагается равной 650 транзакциям за пять минут. Рабочий день в континентальной части США длится с 8:00 утра по восточному времени до 17:00 по тихоокеанскому времени (8:00 утра по тихоокеанскому времени - это 11:00 утра по восточному времени). Оперативный доступ к новой системе будут иметь приблизительно 2000 брокеров.
Все пользователи подключаются к серверу базы данных через сложную систему, включающую в себя локальную сеть, терминальные серверы и монитор обработки транзакций. Разработчики системы полагают, что после вычитания из трехсекундного значения (максимально допустимого общего времени отклика) времени, необходимого для организации представления данных на стороне клиента, времени отклика сети и времени работы монитора транзакций, на операции сервера Oracle останется порядка полутора секунд для каждой транзакции (табл. 9.7).
Таблица 9.7. Требования к времени отклика для инвестиционной брокерской компании
Максимально разрешенное
|
Этап выполнения
|
время отклика (сек)
|
|
1,500
|
Время отклика сервера Oracle
|
Разбор, связывание, исполнение, выборка и т. д.
|
|
1,500
|
Общее время отклика, не относящееся к Oracle
|
Управление представлением данных на сторо-
|
|
не клиента
|
|
Время отклика сети
|
|
Монитор обработки транзакций
|
|
3,000
|
Общее время отклика
|
7. Клиенту нужен совет по выбору архитектуры аппаратного и прикладного программного обеспечения. Укажите, какую конфигурацию оборудования следует выбрать и какие требования необходимо
предъявить к производительности транзакций при разработке SQL-кода приложения с тем, чтобы на выходе получить время отклика, удовлетворяющее компанию-заказчика.
Используйте модель массового обслуживания M/M/m для моделирования времени отклика важной бизнес-функции вашей системы. Манипулируйте параметрами модели до тех пор, пока модель не будет достоверно прогнозировать реально существующее (подтвержденное измерениями) поведение функции. Например, если у вас есть система с 10 процессорами, обрабатывающая порядка 100 различных бизнес-функций, экспериментируйте с моделью так, как если бы лишь часть одного из процессоров была выделена для обслуживания одной конкретной функции. Что произойдет, если удвоить интенсивность поступлений запросов на исполнение данной функции? Что будет, если удастся на 10% повысить скорость обслуживания для данной функции? Как отразится на производительности функции выделение для нее вдвое большей процессорной мощности? Помимо усовершенствования оборудования, какими еще способами можно добиться увеличения мощности процессора, выделяемой для обслуживания данной бизнес-функции?
< Предыдущая | Следующая > |
---|