DeepEdit!

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

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

Резюме(9)

Моделирование производительности - это сложная тема. Надеюсь, что эта глава помогла вам разобраться в технологии. И что еще важнее, на­деюсь, вам стали понятны существующие ограничения. Мне не раз встречались аналитики, которые посвятили себя заведомо безуспеш­ной борьбе с непреложными законами природы. Я построил эту главу так, чтобы вы не попали в эту ловушку. В заключение еще раз останов­люсь на основных моментах:
Метод проб и ошибок - это неэффективный, дорогой и ненадежный метод оптимизации. Если система соответствует условиям приме­нения математической модели, то решение, полученное на ее осно­ве, будет гораздо более эффективным.
Время отклика, по существу, является единственным параметром, который беспокоит конечных пользователей. Для пользователя время отклика - это продолжительность между отправкой запроса и возвращением первого байта ответа на этот запрос. Для теоретика массового обслуживания время отклика равно сумме времени об­служивания и задержки в очереди. Мы можем уменьшить время отклика, уменьшив одну из составляющих: время обслуживания или же задержку в очереди.
В нагруженных системах время отклика ухудшается из-за появле­ния очередей. Бороться с этим можно, снижая нагрузку или же уменьшая время обслуживания. Аналитики по производительности часто забывают о том, что снижение рабочей нагрузки - вполне законная операция. Математическая модель массового обслужива­ния помогает аналитику выбрать компромиссное решение, позво­ляющее удовлетворить клиента и с точки зрения функциональности, и с точки зрения производительности.
Модель массового обслуживания M/M/m - это хорошо исследован­ная и хорошо проверенная модель прогнозирования производи­тельности систем, в которых время между поступлениями запросов и скорость обслуживания распределены экспоненциально. Этим ус­ловиям соответствуют многие системы Oracle. В главе представлена полная реализация модели M/M/m в Microsoft Excel, программа на Perl, проверяющая, подчиняется ли имеющаяся выборка данных экспоненциальному распределению, а также полный набор подроб­ных пояснений относительно того, как применять модель в проекте Oracle.
Одним из основных достоинств модели массового обслуживания яв­ляется изменение нашего восприятия времени отклика. Модель выявляет четкую математическую зависимость между параметра­ми нагрузки, скорости обслуживания и длительности ожидания. Более того, она акцентирует внимание на том, что для оптимизации системы необходимо рассмотреть значения всех допускающих об­суждение параметров.
Наш пример с решением иллюстрирует весьма распространенную ситуацию: несмотря на то, что система ощущает нехватку именно ресурсов процессора, увеличение мощности процессора не помогает удовлетворению требований к производительности системы. В дан­ном случае модель выявляет то, что часто справедливо и в реальной жизни: наиболее экономически эффективный способ повышения производительности системы заключается в избавлении от лишней нагрузки. Существуют два основных метода избавления от лишней нагрузки: освобождение от ненужных бизнес-функций и сокраще­ние кода функций.
Модель массового обслуживания M/M/m игнорирует ряд факторов, которые должен принимать в рассмотрение аналитик. Например, модель предполагает существование абсолютной масштабируемо­сти для каналов обслуживания. Модель во многом является оп­тимистичной. Если оптимистичная модель прогнозирует низкую производительность системы, то и в реальности такая конфигура­ция даст низкую производительность. Однако если оптимистичная модель выносит положительный вердикт относительно производи­тельности системы, это не обязательно означает, что в реальности такая система будет работать хорошо. Некоторые немоделируемые проблемы масштабируемости могут погубить проект.
 









jAntivirus