Мифы и фольклор
Настройка конкуренции в базе данных дает громадный выигрыш в производительности. Следовательно, давайте осветим ярким светом настройки все защелки системы.
Настройка конкуренции должна быть составной частью общей стратегии настройки базы данных. Более важно, чтобы АБД понимал, где и когда ему нужно участвовать в этих усилиях по настройке. Однако настройка конкуренции это. вовсе не какой-то магический обряд, он редко приводит к увеличению производительности на порядок. (Единственным исключением является настройка конкуренции ввода/вывода, которая очень важ-
ria, она подробно описана в главе "Настройка ввода/вывода"). Необходимо
придерживаться методического подхода к настройке Oracle, о чем подробно говорилось в главе "Метод, стоящий за безумием".
Определенно, настройка конкуренции имеет более низкий приоритет, чем настройка приложения и экземпляра с точки зрения: "Что я должен настраивать в первую очередь?". Помните об одном: лучший способ справиться с конкуренцией - не иметь ее совсем. Дело в том, что мы хотели бы рассказать читателям об относящихся к делу вопросах, научить справляться с ними в упреждающей (проактивной) манере и начать заниматься более важными вещами. Не теряйте слишком много времени на обдумывание, какую защелку вы будете настраивать следующей! Ведь их так много. Если настраиваемая база данных страдает конкуренции за защелки (а все относящиеся к делу для используемой версии Oracle защелки уже сконфигурированы на свои разрешенные максимальные значения), необходимо заняться исследованием причины конкуренции. Конкуренция за защелки обычно вызывается переходом в последовательный режим (serialization) одного или нескольких компонентов приложения пользователя. Выполните все шаги, требующиеся для фиксации и исправления
имеющихся в приложении проблем. Как мы уже неоднократно говорили,
основной целью усилий по настройке должно быть лечение болезни, а не ее
симптомов. Конкуренция за - это симптом неудачного кода приложе-
ния (болезни).
Итак что же такое конкуренция в базе данных Oracle? Попросту говоря, это
сражение между несколькими процессами за доступ к какому-то ресурсу пример-
но в одно и то же время. В точности, как у двух детишек, которые готовы подра-
ться за то, чтобы поиграть именно этой игрушкой! Если одинаковых игрушек
несколько, некоторые дети будут просто счастливы захватить еще одну, но най-
дутся и такие, кто страстно пожелает иметь именно ту игрушку, которая есть у
другого ребенка. В системах Oracle все происходит точно так же! Иногда, если
вы располагаете несколькими копиями определенного ресурса, Oracle работает
хорошо, но бывает, что возникают ситуации, когда несколько процессов запра-
шивают один и тот же ресурс практически в одно и то же время. Однако у Oracle
имеется методический подход к решению подобных вопросов конкуренции. У
детей все по-другому, а у нас каждый должен остаться при своем! Но
сражение между несколькими процессами за доступ к какому-то ресурсу пример-
но в одно и то же время. В точности, как у двух детишек, которые готовы подра-
ться за то, чтобы поиграть именно этой игрушкой! Если одинаковых игрушек
несколько, некоторые дети будут просто счастливы захватить еще одну, но най-
дутся и такие, кто страстно пожелает иметь именно ту игрушку, которая есть у
другого ребенка. В системах Oracle все происходит точно так же! Иногда, если
вы располагаете несколькими копиями определенного ресурса, Oracle работает
хорошо, но бывает, что возникают ситуации, когда несколько процессов запра-
шивают один и тот же ресурс практически в одно и то же время. Однако у Oracle
имеется методический подход к решению подобных вопросов конкуренции. У
детей все по-другому, а у нас каждый должен остаться при своем! Но
прежде, чем погрузиться в пучины путешествия за разрешением проблем конку-
ренции, отметьте для себя, что всегда, в любой системе были, есть и будут хотя
бы какие-то виды конкуренции, или узкие места. Практически невозможно на
все время функционирования вашей системы уничтожить в ней все виды конку-
ренции. Более важен для нас вопрос: насколько вредна эта конкуренция, и как
она влияет на производительность приложения? В данной главе речь пойдет о
проблемах конкуренции и управлении ими.
ренции, отметьте для себя, что всегда, в любой системе были, есть и будут хотя
бы какие-то виды конкуренции, или узкие места. Практически невозможно на
все время функционирования вашей системы уничтожить в ней все виды конку-
ренции. Более важен для нас вопрос: насколько вредна эта конкуренция, и как
она влияет на производительность приложения? В данной главе речь пойдет о
проблемах конкуренции и управлении ими.
< Предыдущая | Следующая > |
---|