етод R. Часть 1
Эта книга написана не для того, чтобы просто помочь вам ускорить работу вашей Oracle-системы. Настоящая ее цель - в оптимизации проекта, имеющего целью ускорение Oracle-системы. В мои планы не входит помощь в настройке какой-то одной системы. Я хочу помочь вам научиться ускорять работу любых систем, я также хочу, чтобы вы могли решать такие задачи с наибольшей экономической эффективностью, достижимой в вашем бизнесе. Для достижения этой цели я предлагаю Метод R. Именно на этом методе основана оставшаяся часть книги.
Концептуально Метод R очень прост. Как нетрудно заметить, это лишь слегка формализованное представление простого правила «В первую очередь стремиться к уменьшению самой значимой составляющей времени отклика в наиболее критичных для бизнеса операциях», которое встретилось нам уже неоднократно.
Метод R: метод повышения производительности,
основанный на времени отклика и дающий максимальный экономический эффект для бизнеса
Выявите пользовательские операции, требующие ускорения с точки зрения бизнеса.
Получите диагностические данные, относящиеся к конкретному периоду времени или конкретной операции, которые позволят вам идентифицировать причины задержек в каждой из выбранных пользовательских операций, при их выполнении в наилучших условиях.
Выполните действия по оптимизации тех операций, которые дают наилучший совокупный эффект для бизнеса. Если даже наиболее действенные мероприятия не дают достаточного улучшения, отложите оптимизацию производительности до лучших времен.
Перейдите к шагу 1.
Кто применяет этот метод
Первая отличительная черта Метода R - это требования к специалистам, применяющим его. Метод не годится для технического специалиста, не заинтересованного в вашем бизнесе. Как я уже говорил, конечной целью Метода R является повышение ценности системы для бизнеса. Эта цель не может быть достигнута без понимания проблем бизнеса. Но где в организационной структуре отдела информационных технологий должен находиться человек, применяющий данный метод?
Эти отвратительные дымовые трубы
В большинстве крупных компаний службы поддержки технической инфраструктуры организованы в стиле «коптящих труб», как показано на рис. 1.2. Организационная структура такого рода серьезно осложняет работу по оптимизации системы в силу одной фундаментальной причины:
Организационно раздробленные подразделения предпочитают заниматься оптимизацией изолированно от других подразделений, что приводит к появлению локально оптимизированных компонентов. Даже если это им удается, результат получается далеко не оптимальный. Система, состоящая из локально оптимизированных компонентов, не обязательно оптимальна в целом.
Одно из наиболее значительных достижений Голдрата (Goldratt) в области оптимизации систем заключается в наглядной иллюстрации того, что локальная оптимизация совсем не обязательно ведет к оптимизации глобальной [Goldratt (1992)].
Модель «дымовых труб» заразительна. Даже в кратких заявках на участие в конференциях на тему Oracle от нас требуют выбрать такую
Та самая Цель
Одним из толчков к созданию Метода R послужила история, рассказанная Эли Голдратом в книге « The Goal» (Та самая цель ) [Goldratt (1992)]. В книге описана победа нового революционного метода оптимизации производительности над старым, глубоко укоренившимся методом, дававшим худшие результаты. Метод Голдрата применяется в оптимизации производства, но рассказанная история до боли напоминает сегодняшнюю ситуацию в сообществе специалистов по Oracle: ниспровержение метода оптимизации, основанного на неверной системе измерений.
Эта книга опровергает массу ложных идей, на которых были основаны «знания» об оптимизации многих аналитиков. Вот два наиболее ярких урока, которые я усвоил из этой книги:
Практика калькуляции стоимости часто приводит к неверным решениям при оптимизации. Пользователи Oracle придерживаются аналогичной практики, когда в качестве параметра оптимизации выбирают коэффициент попаданий..
Система, состоящая из оптимизированных элементов, сама не обязательно является оптимальной. Это объясняет, почему производительность систем, полностью построенных из «лучших в своем роде» элементов, может хромать на обе ноги. Объясняет это и причину существования такого количества медленных Oracle-систем, компонентами которых управляют разные администраторы, уверенные в том, что уж их-то подсистемы точно не могут быть причиной низкой производительности.
Если вы еще не читали эту книгу - уверен, она доставит вам немало приятных минут. Если читали, перечитайте еще раз, сопоставляя прочитанное с тем, что происходит в области производительности Oracle. Как сказано в аннотации, «Читатели книги занимаются сейчас лучшим делом в своей жизни». Данное утверждение в точности отражает мое собственное отношение к этой книге.
«трубу» для каждой из наших презентаций (организаторы предпочитают называть эти трубы «секциями»). Например, имеется секция, посвященная настройке баз данных, и совершенно отдельная секция по настройке операционных систем. Что, если бы метод оптимизации производительности требовал поочередно уделять внимание разным элементам технологического стека? Думаю, малейший намек на такое разделение отвратит специалистов от применения такого метода. По крайней мере, аналитики, пользующиеся методом, охватывающим все уровни стека, испытывают трудности с выбором подходящей секции для своих докладов.
С кем бы из владельцев систем Oracle я ни говорил, почти всем им доставляет неудобство классический подход к разделению специалистов на прикладных программистов и администраторов баз данных. Какая из этих групп отвечает за производительность системы? Ответ: обе. Есть проблемы производительности, которые прикладные программисты не в состоянии обнаружить без помощи администраторов баз данных. Точно так же, есть проблемы производительности, не устранимые силами администраторов без помощи разработчиков.
Наилучшим способом защиты компании от понижения производительности следует признать наличие у нее хорошего аналитика по производительности, свободно ориентирующегося во всех уровнях технологического стека и способного их диагностировать. В терминах рис. 1.2 такой специалист должен уметь не потеряться в «дымном облаке». Аналитик по производительности парит над трубами, пока не выберет, в какую из них нырнуть. А самый лучший аналитик обладает знаниями, интеллектом, обаянием и мотивацией, позволяющими ему вмешаться во взаимодействие этих труб, когда он уверен, что найден нужный вентиль.
Имея честь общаться с десятками аналитиков по производительности, я заметил, что большинство из них обладает общим набором качеств, которые, как мне представляется, и лежат в основе их успеха. Лучшая из известных мне характеристик этих талантливых специалистов принадлежит Джиму Кеннеди (Jim Kennedy) и Анне Эверест (Anna Everest) [Kennedy and Everest (1994)], выделившим четыре группы личных качеств:
Образование/опыт/компетентность
В категории образование/опыт/компетентность от хорошего аналитика требуются понимание целей и процессов бизнеса, а также пользовательских операций, обеспечивающих его функционирование. Хороший аналитик знает финансы в достаточной степени, чтобы понимать, какие сведения потребуются оперирующему финансовыми понятиями спонсору проекта для принятия информированного решения о вложении средств в проект по повышению производительности. И, разумеется, хороший аналитик разбирается в технических средствах прикладной системы, включающих оборудование, операционную систему, сервер БД, прикладные программы и все остальные компоненты, связывающие сервер и клиентов в единое целое. Многие важные технические составляющие описаны во второй части книги.
Интеллект
Хорошему аналитику присущ и ряд интеллектуальных качеств. Прежде всего, на мой взгляд, он должен чувствовать значимость -под этим понимается способность разобраться, что важно, а что нет. Это широкая категория. Сюда входят понятия восприимчивости, здравого смысла и рассудительности. Обязателен навык решения проблем, равно как и способность к быстрому восприятию и усвоению информации.
Межличностные отношения
В области межличностных отношений хороший аналитик должен обладать определенным набором качеств. Доброжелательность служит ключом к получению достоверной информации от пользователей, владельцев бизнеса и персонала, обслуживающего компоненты системы. Самообладание требуется для поддержания порядка в кризисные моменты, особенно с наступлением неизбежной «панической» стадии проекта. Уверенность в себе необходима для поддержания среди жертв и виновников проблемы правильного морального духа, вселяющего уверенность в выполнимости проекта. Хороший аналитик обладает тактом и умением объединять усилия для достижения поставленной цели.
Мотивация
Наконец, хороший аналитик по производительности демонстрирует высокую мотивацию. Он ориентирован на клиентов и заинтересован в бизнесе. Ему интересны сложные задачи, он изобретателен. Я заметил, что лучшие аналитики по производительности всегда уверены в том, что технические, интеллектуальные, межличностные и мотивационные проблемы разрешимы, но разные виды задач требуют зачастую совершенно разных подходов к их решению. Лучшие из аналитиков не только понимают это, но и извлекают немалую пользу из такого многообразия.
< Предыдущая | Следующая > |
---|