DeepEdit!

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

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

Возможные выгоды от небольших улучшений


Несмотря на вышесказанное, возможна ситуация, когда экономиче­ски наиболее оправданной будет работа не с самой первой составляю­щей профиля. Предположим, например, что проблема подсистемы ввода/вывода из примера 10.2 может быть «решена» простым отказом от запуска некоторого долго выполняющегося и требующего интен­сивного обмена с диском отчета, ежедневно формируемого во время выполнения указанной пользовательской операции. Представьте себе, что решение заключается в исключении работы по созданию отчета, который, как вы выяснили, никто в компании даже не читает. В таком случае решение проблемы - простое удаление этого отчета - настолько элементарно, что неразумно было бы им не воспользоваться.
С точки зрения математики возврат инвестиций (Return Of Invest­ment, ROI) от некоторой деятельности может быть высоким даже при небольшом значении возврата R, если инвестиции тоже малы, вслед­ствие чего отношение R/I велико. Иногда такое случается. Однако имейте в виду, что большое значение ROI - не единственная ваша цель. Мой профессор финансов Майкл Вецуйпенс (Michel Vetsuypens) однажды проиллюстрировал этот тезис, бросив в аудиторию пятицен­товую монетку. Студент, поймавший ее, достиг тем самым почти бес­конечного ROI - поймать монету практически ничего не стоило, а воз­врат составил пять центов. Несмотря на то, что это, наверное, был вы­сочайший показатель ROI, достигнутый студентом за всю его жизнь, понятно, что общий эффект от добавления пяти центов к его капиталу был исчезающе мал. Из этой истории ясно, почему для вас так важно при определении целей повышения производительности наряду с ROI учитывать показатели чистой прибыли и движения денежных пото­ков, о чем рассказывалось в главе 2.

Эта история иллюстрирует также фундаментальный недостаток относительных величин: они скрывают абсолютные значения.

Исключение лишних вызовов
На курсах Hotsos Clinic бытует такая избитая шутка:
Вопрос: Как быстрее всего сделать нечто? (В качестве неизвестного «нечто» может выступать все что угодно: от выполнения вызовов базы данных до полета в другой город или посещения ванной.)
Ответ: Не делать.
Самый быстрый способ сделать что бы то ни было - избежать необхо­димости делать это. (Эта аксиома будет справедлива до тех пор, пока кто-нибудь не изобретет подходящий для человека способ путешествия во времени. Пока мы не найдем способ сделать продолжительность на­ших действий отрицательной, лучшее, что мы можем сделать - при­равнять ее к нулю.)
Самый экономически эффективный способ повышения производи­тельности системы обычно состоит в исключении бесполезной нагруз­ки. Бесполезна любая нагрузка, которая может быть исключена из системы без уменьшения ее ценности для владельца. Аналитики, мало знакомые с Методом R, часто бывают шокированы, обнаружив, что их системы вполне соответствуют такому правилу:
Во многих системах доля бесполезной нагрузки превышает 50% .
Это справедливо практически для каждой системы, измеренной мною начиная с 1989 г., и, скорее всего, для вашей системы тоже. Для этого утверждения есть основания: на протяжении 1980-90-х годов, когда многие аналитики Oracle проходили обучение, нас учили принципам, поощрявшим расточительство. Например, популярное некогда мне­ние о предпочтительности высокого коэффициента попадания в кэш буферов привело к низкой эффективности многих приложений. Это заблуждение описано в ряде работ, в частности [Millsap (2001b; 2001c); Lewis (2001a); Vaidyanatha et al. (2001); McDonald (2000)].
 









jAntivirus