Книга состоит из двенадцати глав и пяти приложений, разбитых на четыре части.
Часть I «Методика» посвящена определению цели. Она написана неформальным разговорным языком, благодаря чему спонсоры и руководители, занимающиеся проектами по повышению производительности, смогут прочитать ее от начала и до конца, не увязнув в технических деталях. В нее входят следующие главы:
• Глава 1 «Лучший способ оптимизации» объясняет, почему так сложно добиться повышения производительности Oracle, применяя традиционные методы. Представлены три важных достижения в других областях, которые десятилетиями игнорировались аналитиками по производительности. Описан новый метод повышения производительности, которому и посвящена оставшаяся часть книги.
Глава 2 «Выбор пользовательских операций» показывает, что множество проектов повышения производительности с самого начала страдают из-за неудачных спецификаций. Объясняется, как создать надежную спецификацию для проекта.
Глава 3 «Выбор диагностических данных» рассказывает о том, что ошибки при сборе диагностических данных становятся главной причиной неудач множества проектов повышения производительности. Объясняется, почему многие проекты просто не могут быть успешными в отсутствие корректно собранных данных. Представлены три различных источника таких данных в системах Oracle.
Глава 4 «Выбор пути решения задачи» объясняет, как можно реа-лизовывать проекты повышения производительности, основываясь на том же принципе информированного согласия, который практикуется в других областях. Описано, как можно спрогнозировать затраты на проект повышения производительности и выгоду от него и как найти экономически оптимальное решение среди множества доступных путей повышений производительности.
Часть II «Справочная информация» посвящена подробностям. Она написана в сугубо техническом стиле с целью предоставить справочную информацию, необходимую аналитику по производительности для реализации предложенной методики. Включает в себя следующие главы:
Глава 5 «Интерпретация данных расширенной трассировки SQL» рассматривает содержимое файла расширенной трассировки SQL. Описаны значения полей файла трассировки и отношения временных статистик.
Глава 6 «Сбор данных расширенной трассировки SQL» рассказывает, как собрать корректные данные расширенной трассировки SQL, необходимые для анализа проблемы производительности.
Глава 7 «Измерение времени ядром Oracle» показывает, как программное обеспечение (например, ядро Oracle) само производит над собой измерения и как проверить такую самодиагностику в конкретной системе. Указывается ряд источников неучтенного времени в файлах трассировки Oracle и поясняется, почему такие промежутки во временных характеристиках сами в себе содержат диагностические данные производительности.
Глава 8 «Данные фиксированных представлений Oracle» описывает некоторые из множества недостатков динамических представлений производительности Oracle. Приводятся описания нескольких наиболее популярных фиксированных представлений V$ и примеры их применения. Вы можете удивиться, обнаружив, что не все из того, что вы думаете о динамических представлениях производительности Oracle, соответствует действительности.
Глава 9 «Теория массового обслуживания для специалиста по Orac-le» - это одна из моих любимых глав. Поясняется физический смысл очередей и рассказывается о том, как применить математические знания из области теории массового обслуживания для оценки и даже предсказания производительности систем, в том числе приложений, работающих с БД Oracle.
Часть III «Реализация», как и часть I, написана простым разговорным языком, что должно вдохновить спонсоров и руководителей на ее прочтение. Составляющие ее главы рассказывают, как сделать, чтобы выполненная работа имела максимальный положительный эффект.
Глава 10 «Работа с профилем ресурсов» описывает пошаговый метод анализа данных времени отклика Oracle, обеспечивающий максимальное увеличение производительности при минимальных затратах. Описывается огромный экономический эффект от «уборки мусора» и объясняется, как находить нетривиальные решения, обеспечивающие такие результаты, которых ни в каком ином случае достичь бы не удалось. Наконец, объясняется, как понять, завершена ли работа по оптимизации. На этот вопрос чрезвычайно сложно ответить в случае применения традиционных методов повышения производительности.
Глава 11 «Лечение согласно диагнозу» описывает, как улучшить производительность приложения в разнообразных ситуациях, описываемых диагностическими данными. Особое внимание уделяется способам избавления системы от неэкономных операций. Описаны важные составляющие времени отклика, недостаточно представленные в других работах или же вообще там не упомянутые.
Глава 12 «Учебные примеры» завершает книгу. Она содержит четыре проекта от начала и до конца - от постановки задачи и определения цели и анализа до реализации, благодаря чему можно посмотреть, как именно работает метод в реальной жизни.
Часть IV «Приложения» включает в себя следующую информацию:
Приложение A «Глоссарий» содержит определения технических терминов, употребляемых в книге.
Приложение B «Греческий алфавит» представляет собой таблицу греческих букв и соответствующих английских и русских эквивалентов и призвано помочь в чтении главы 9.
Приложение C «Оптимизация коэффициента попаданий в кэш буферов базы данных», на которое меня вдохновил Коннор МакДо-нальд своим сайтом http://www.oracledba.co.uk, предлагает лучшее из известных мне доказательств того, что высокий коэффициент попаданий в кэш буферов базы данных не гарантирует успешность системы. Приведенная в данном приложении программа на Perl может довести коэффициент попаданий в кэш до любого значения!
Приложение D «Формулы теории массового обслуживания M/M/m» содержит формулы из главы 9.
Приложение E «Ссылки» содержит библиографические данные для тех источников, ссылки на которые встречаются в этой книге.
< Предыдущая | Следующая > |
---|