етод R. Часть 3
Причина успешной работы метода R в случае общесистемного кризиса производительности в том, что «вся система» не является единой сущностью, она состоит из пользовательских операций разной степени важности. Все операции могут выполняться медленно не по одной и той же причине. Если же причин несколько, то как узнать, какой из них следует заняться в первую очередь? Правильный путь - в составлении списка приоритетов пользовательских операций в порядке убывания их важности с точки зрения бизнеса. А что если все задержки на самом деле вызваны единственной причиной? Тогда вам повезло: первый же набор диагностических данных, собранных для одного процесса, укажет на общий источник проблем всей системы. Устранив проблемы одного процесса, вы сделаете это и для всех остальных. В табл. 1.1 приведены сравнительные характеристики нового и существующего методов.
Таблица 1.1. Достоинства методов C и R. Преимущества метода R особенно заметны на «медленных в целом» системах
Вариант на рис. 1.4
|
Эффективность метода C
|
Эффективность метода R
|
(а)
|
Эффективен в ряде случаев. Наличие единственного источника проблем увеличивает вероятность его
выявления в ходе анализа общесистемной статистики.
|
Эффективен. Даже при неправильном определении приоритетов бизнеса единственный
источник проблем идентифицируется с первой попытки.
|
(б)
|
Неприменим. Не позволяет проследить связь причины с вызванным ею эффектом, что заставляет
устранять проблемы «снизу вверх»
без учета приоритетов бизнеса.
|
Эффективен. Учет приоритетов бизнеса гарантирует, что
самые важные проблемы будут выявлены и устранены
первыми.
|
(в)
|
Неприменим. Причины те же, что
и в случае (б).
|
Эффективен. Причины те же,
что и в случае (б).
|
«Метод работает только в случае проблем с базой данных»
Другое часто возникающее возражение против метода R связано с мнением о его непригодности для поиска и устранения проблем производительности, если они вызваны внешними по отношению к уровню хранения данных причинами. Сейчас, когда практически все сложные системы имеют многозвенную архитектуру, из такого предположения можно сделать вывод о серьезных ограничениях области применения метода R.
Сам по себе метод R никоим образом не содержит подобных ограничений. Обратите внимание: ни в одном из четырех этапов метода нет указаний на то, что информация о времени отклика собирается только для базы данных. Впечатление об ориентированности на базу данных возникает в связи с реализацией шага 2, на котором происходит сбор подробных диагностических данных о времени отклика. Эта книга, как вы увидите, посвящена исключительно средствам измерения времени отклика, встроенным в ядро Oracle. Такой подход основывается на нескольких причинах:
Когда производительность падает, люди стремятся первым делом обвинить в этом наименее понятную им часть системы. Поэтому база данных Oracle часто оказывается первым компонентом, на который сыплются обвинения в низкой производительности. На самом деле ядро Oracle предоставляет достаточно диагностических данных для однозначного решения о том, в нем ли кроется источник проблем.
В момент написания этих строк из всех уровней технологического стека ядро Oracle, несомненно, имеет самый полный набор средств измерения. К сожалению, аналитики зачастую неспособны правильно воспользоваться полученными от этих средств данными. Структура средств диагностики Oracle весьма развита, несмотря на свою простоту и эффективность (см. главу 7). Производители остальных компонентов технологического стека уже обратили на это внимание. Я полагаю, что встроенные в ядро Oracle средства диагностики времени отклика станут стандартными и для остальных звеньев.
Если источник проблем заключен в базе данных, метод R позволяет решить их быстро и эффективно даже при ограниченной оснащенности остальных уровней средствами измерений. В том случае, если источник проблем находится вне базы данных, метод R позволяет так же быстро и эффективно доказать этот факт. Независимо от места возникновения проблемы метод R страхует аналитика от попыток борьбы с несуществующими проблемами.
Практика - критерий истины. Ниже перечислены ситуации, в которых метод R последовательно подводит нас к местам возникновения проблем, требующих решения, независимо от того, находятся они внутри базы данных или вне ее:
Неэффективность запросов, вызванная неудачно написанными в приложении командами SQL, плохой организацией данных, ошибочной стратегией индексирования, проблемами с плотностью данных и т. д.
Неэффективность прикладных программ, связанная с избыточным разбором, плохо спроектированными механизмами сериализации (блокировками), неправильным применением (или неприменением) способов работы с массивами и т. д.
Эксплуатационные ошибки, вызванные неправильным сбором статистики для оптимизатора по стоимости, случайными изменениями схемы (например, удалением индексов), переполнением файловой системы и т. д.
Сетевые ошибки, связанные с неправильной конфигурацией программного обеспечения, сбоями оборудования, неудачно спроектированной топологией и т. д.
Ошибки дискового ввода/вывода, связанные с исчерпанием кэшей, несбалансированностью нагрузки на разные устройства и т. д.
Ошибки в планировании вычислительных ресурсов, проявляющиеся в недостаточной производительности ЦПУ, памяти, дисков, сети и т. д.
«Этот метод необычен»
Даже если метод R окажется важнейшим достижением с момента изобретения строк и столбцов, я вполне допускаю, что еще пару лет после выхода этой книги он будет встречать определенное сопротивление. Метод нов и не похож на то, к чему все привыкли. По мере того, как описанные здесь приемы будут проникать в практику, книги и инструменты, сопротивление, надеюсь, будет ослабевать. Тем временем коллеги будут требовать от вас подробно объяснять, почему вы рекомендуете им такой необычный метод оптимизации производительности, который не основывается ни на пакете Statspack, ни на каком другом популярном средстве мониторинга производительности, возможно, стоившем вашей компании немалых денег. То, что вы пользуетесь таким непривычным методом, может послужить для них причиной отказа от ваших предложений.
В этой книге одна из моих целей состоит в том, чтобы вооружить вас таким знанием о технологии Oracle, которое позволит полностью реализовать потенциал, заключенный в диагностических данных. Полагаю, прочитав эту книгу, вы сможете аргументированно защитить свою точку зрения. Надеюсь, это укрепит ваши позиции, и предложенные вами меры по повышению производительности будут оцениваться по критериям экономической эффективности, а не по названию метода, из которого они позаимствованы.
Выше в этой главе приведены восемь критериев, по которым, на мой взгляд, следует оценивать метод повышения производительности. Закончу главу сравнением метода R с обычными методами, с точки зрения этих характеристик:
Действенность
Метод R всегда максимально эффективен, поскольку заставляет сосредоточиться на цели, имеющей смысл для бизнеса, - времени отклика выбранной пользовательской операции.
Эффективность
Метод R обеспечивает наибольшую отдачу от проекта в силу того, что нацеливает вас на наивысшие приоритеты бизнеса и позволяет принимать полностью осознанные решения на каждой стадии проекта. Фактически эффективность проекта была главным условием при проектировании метода.
Измеримость
В методе R в качестве критерия выступает время отклика, а не внутренние технические характеристики, которые не всегда могут быть непосредственно преобразованы в показатели преимущества для конечного пользователя.
Прогнозируемость
Метод R дает беспрецедентные возможности для прогнозирования результата предлагаемых действий для выбранной пользовательской операции, не требуя для этого дорогостоящих экспериментов.
Достоверность
Метод R работает достоверно практически для всех мыслимых проблем производительности; метод отличается тем, что позволяет указать на источник проблем любого типа, не прибегая к помощи опыта, интуиции или везения.
Детерминизм
Метод R исключает диагностику «угадыванием» благодаря, во-первых, нацеленности на приоритеты бизнеса; во-вторых, обладанию надежной методикой для определения истинных связей между видимыми симптомами и источниками проблем.
Конечность
Метод R имеет четко выраженное условие завершения. Его отличает способность установить момент, когда дальнейшие усилия по оптимизации перестают быть экономически оправданными.
Практичность
Метод R поддается изучению и уже был использован сотнями аналитиков самой различной квалификации для быстрого и эффективного улучшения производительности Oracle.
Последующие главы посвящены описанию применения метода R.
< Предыдущая | Следующая > |
---|