DeepEdit!

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

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

Упражнения (9)

Примените модель массового обслуживания M/M/m для проверки всех результатов рассмотренного нами примера.
Проектировщики нового международного терминала в аэропорту Millsap International Airport (MQP) города Миллсап в Техасе обрати­лись к вам за помощью в оптимизации времени обслуживания кли­ентов. Каждый из новых высокотехнологичных кассовых залов бу­дет вмещать шесть билетных касс. Строители аэропорта просят по­мочь решить, следует ли им организовать одну длинную очередь для направления клиентов ко всем 6 кассам (конфигурация M/M/6) или же шесть коротких очередей, каждая из которых относилась бы толь­ко к определенному кассиру (шесть независимых систем M/M/1). Используйте модель массового обслуживания M/M/m для опреде­ления того, какая конфигурация обеспечит наименьшее время от­клика для клиентов.
Перед клиентом стоит выбор: какой из двух компьютеров купить? Модель имеет один процессор, который способен выполнять 40 000 операций логического чтения (LIO) Oracle в секунду. Модель имеет четыре процессора в симметричной многопроцессорной конфигурации, но каждый из этих процессор может выполнять все­го 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% повысить скорость обслуживания для данной функции? Как отразится на производительности функции выделение для нее вдвое большей процессорной мощности? Помимо усовершенствования оборудования, какими еще способами можно добиться увеличения мощности процессора, выделяемой для обслуживания данной бизнес-функции?
 









jAntivirus