DeepEdit!

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

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

Метод R. Часть 3

етод 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.

 









jAntivirus