Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Latch Miss Sources  [new]
YAP
Member

Откуда: Киев
Сообщений: 2116
AWR 1 hour
10.2.0.1

Что означает значение в колоке Where и куда рыть дальше?

Latch Miss Sources                                                                    

Latch Name Where NoWait Misses Sleeps Waiter Sleeps
library cache kglpndl: child: before processing 0 216,734 98,544
library cache kglpin 0 72,787 40,766
library cache kglpin: child: heap processing 0 62,098 28,038
library cache kglpnc: child 0 50,602 120,015
library cache kglobpn: child: 0 48,100 118,952
library cache kglpndl: child: after processing 0 29,535 347
library cache kglhdgc: child: 0 23,582 85,674
library cache kglpnp: child 0 10,958 16,676
shared pool kghalo 0 2,078,464 1,984,863
shared pool kghfre 0 391,081 472,315
shared pool kghupr1 0 39,706 51,979


при этом

Latch Sleep Breakdown

Latch Name Get Requests Misses Sleeps Spin Gets Sleep1 Sleep2 Sleep3
shared pool 28,631,785 2,716,869 2,509,656 468,384 0 0 0
library cache 99,920,595 1,667,177 544,169 1,146,915 0 0 0
row cache objects 90,286,098 1,456,115 955 1,455,165 0 0 0

Top 5 Timed Events

Event Waits Time(s) Avg Wait(ms) % Total Call Time Wait Class
latch: shared pool 2,509,800 87,933 35 67.6 Concurrency
latch: library cache 544,175 21,019 39 16.2 Concurrency
CPU time 17,220 13.2
SQL*Net more data to client 635,565 3,895 6 3.0 Network
log file sync 34,904 2,325 67 1.8 Commit

приложение APEX, используется FGAC.
25 мар 08, 16:29    [5457006]     Ответить | Цитировать Сообщить модератору
 Re: Latch Miss Sources  [new]
Сына
Member

Откуда:
Сообщений: 804
YAP
Что означает значение в колоке Where


автор
where column location divided to 1 - 3 parts divided by ':'
1) Oracle kernel function.
2) Optional kslbegin (macro to lock latch) or operation name.
3) Optional description or comment if single function has several locks/unlocks for the same latch.
25 мар 08, 17:18    [5457409]     Ответить | Цитировать Сообщить модератору
 Re: Latch Miss Sources  [new]
YAP
Member

Откуда: Киев
Сообщений: 2116
RAC поможет с масштабированием этого приложения?
25 мар 08, 17:54    [5457756]     Ответить | Цитировать Сообщить модератору
 Re: Latch Miss Sources  [new]
.....
Member

Откуда:
Сообщений: 473
часто ли у вас загружаются/выгружаются объекты из library cache? ИМХО возможно kglpn связан именно с этим
25 мар 08, 18:18    [5457923]     Ответить | Цитировать Сообщить модератору
 Re: Latch Miss Sources  [new]
YAP
Member

Откуда: Киев
Сообщений: 2116
вот этот?

Library Cache Activity

Namespace Get Requests Pct Miss Pin Requests Pct Miss Reloads Invali- dations
BODY 853,723 0.00 2,907,746 -0.00 0 0
INDEX 3 0.00 30 0.00 0 0
JAVA DATA 2 0.00 0 0 0
JAVA RESOURCE 1 0.00 16 0.00 0 0
JAVA SOURCE 2 0.00 4 0.00 0 0
SQL AREA 771 95.33 24,349,001 0.01 1,212 5
TABLE/PROCEDURE 94,027 0.01 5,578,695 -0.00 3 0
TRIGGER 38,336 0.00 53,959 0.00 0 0
25 мар 08, 18:28    [5457988]     Ответить | Цитировать Сообщить модератору
 Re: Latch Miss Sources  [new]
.....
Member

Откуда:
Сообщений: 473
А как обстоит дела с кол-вом hard parsing / executions?
25 мар 08, 19:00    [5458136]     Ответить | Цитировать Сообщить модератору
 Re: Latch Miss Sources  [new]
YAP
Member

Откуда: Киев
Сообщений: 2116
Instance Activity Stats

parse count (failures) 1,021
parse count (hard) 2,304
parse count (total) 5,083,043
parse time cpu 47,680
parse time elapsed 592,417

execute count 11,487,637
25 мар 08, 19:06    [5458163]     Ответить | Цитировать Сообщить модератору
 Re: Latch Miss Sources  [new]
.....
Member

Откуда:
Сообщений: 473
размер shred_pool какой? Oracle - 32-64бита? И почему не ставили последний патчсет?
25 мар 08, 19:13    [5458183]     Ответить | Цитировать Сообщить модератору
 Re: Latch Miss Sources  [new]
.....
Member

Откуда:
Сообщений: 473
В 10.2.0.1 есть бага Note:5452234.8 имхо поэтому у вас gets очень низкий. Пока думаю что у вас слишком маленький shared_pool_size
25 мар 08, 19:15    [5458191]     Ответить | Цитировать Сообщить модератору
 Re: Latch Miss Sources  [new]
.....
Member

Откуда:
Сообщений: 473
Хотя насчет размера я может погорячился :) возможно его стоит и уменшить.
Похоже при парсинге (коего достаточно много) происходит слишком долгий поиск в shared_pool.
Не анализировали v$sqlarea на предмет большого числа version_count?
И ответьте пожалуйста на
> размер shred_pool какой? Oracle - 32-64бита? И почему не ставили последний патчсет?
25 мар 08, 19:53    [5458281]     Ответить | Цитировать Сообщить модератору
 Re: Latch Miss Sources  [new]
YAP
Member

Откуда: Киев
Сообщений: 2116
.....
размер shred_pool какой? Oracle - 32-64бита? И почему не ставили последний патчсет?

включено automatic memory mangement, sga_target=6291456000
если не изменяет память, когда последний раз смотрел - более 2 гигов
оракул 64 битный.

последний, Вы имеете ввиду 10.2.0.4?
25 мар 08, 21:58    [5458546]     Ответить | Цитировать Сообщить модератору
 Re: Latch Miss Sources  [new]
YAP
Member

Откуда: Киев
Сообщений: 2116
.....

Не анализировали v$sqlarea на предмет большого числа version_count?


в текущем отчете есть запросы с 64 версиями (и меньше), но

есть часы, когда производительность системы удовлетворительная, версий бывает за 200 (много запросов с таким и меньшим кол-вом версий)
25 мар 08, 22:06    [5458564]     Ответить | Цитировать Сообщить модератору
 Re: Latch Miss Sources  [new]
Ааз
Member

Откуда: Москва/Протвино
Сообщений: 4274
YAP
RAC поможет с масштабированием этого приложения?
1. Одно из утверждений, за которое я готов "побороться", и даже поставить "на карту" свою репутацию "знатока RAC'ов" звучит так:
RAC позволяет масштабировать ТОЛЬКО "хорошо масштабируемые приложения" :-)
2. Судя по факту - вы сразу перешли к теме защелок (latches) - ожидание события 'latch free' и обычно сопровождающее его избыточное потребление CPU у вас доминирует или явно превышает разумные пределы. Что является видимым симптомом некой проблемы конкуренции за доступ к ресурсам в рамках одного экземпляра
3. Вместо CBC (cache buffers chains) в latch sleeps (практически == событие ожидания 'latch free'), доминирует конкуренция за защёлки 'library cache' и 'shared pool'.
4. Аномальная конкуренция за любую защелку - проявление архитектурных особенностей сервера. Этого быть не должно.
5. Конкуренция за защёлки 'shared pool' и 'library cache' - свиделеьство избыточных PARSE'ов или REPARSE'ов.
6. И эту проблему (с защёлками) переход на RAC обычно не решает. Ибо то, что было всего лишь конкуренцией за защёлки без RAC (с временами ожидания порядка 10-100 микросекунд) в RAC может превратиться в ожидания на ПОРЯДКИ бОльшие. GCS (Global Cache Services, Cache Fusion) или - что более подходит к вашему случаю - GES (Global Enqueue Services).
6. Подсказка про "недоразмеренный" shared pool, весьма вероятно, верна.

Наводящие (предположительно, на правильный ответ) вопросы:
- используется ли spfile? В нем сервер Oracle имеет хорошую привычку сохранять значения "дважды недокументированных" (т.е. с именами, начинающимися с двух '_') параметров, "настроенных" AMMS в процессе работы экземпляра
- указание параметра shared_pool_size, AFAIK, задаёт нижнюю границу размера разделяемого пула. Т.е. AMMS не опустит значение __shared_pool_size ниже этой границы.
- что там у вас с "литералами" в SQL?
- версия 10.2.0.1 - это вызов рациональному в разуме? А на отпатченном (хотя бы до 10.2.0.3) не пробовали? Или есть желание самостоятельно пройтись по пройденным другими граблям?

Всего
PS. Сорри, если некоторый один "наводящий" вопрос показался вам оскорбительным
26 мар 08, 00:42    [5459012]     Ответить | Цитировать Сообщить модератору
 Re: Latch Miss Sources  [new]
.....
Member

Откуда:
Сообщений: 473
YAP
.....

Не анализировали v$sqlarea на предмет большого числа version_count?


в текущем отчете есть запросы с 64 версиями (и меньше), но

есть часы, когда производительность системы удовлетворительная, версий бывает за 200 (много запросов с таким и меньшим кол-вом версий)


значение version_count - огромное :)
возможно потом наступает большая фрагментация shared_pool и псц.
чесно говоря не знаю как работает apex, поэтому особо сказать ничего не могу.

возможно смотреть в сторону размера shared_pool, настроек session_cached_cursor, cursor_sharing ну и пропатчица до 10.2.0.3(2)
26 мар 08, 08:37    [5459342]     Ответить | Цитировать Сообщить модератору
 Re: Latch Miss Sources  [new]
concepts
Member

Откуда: из засады
Сообщений: 279
А FGAC не может быть причиной излишнего парсинга?
26 мар 08, 09:14    [5459415]     Ответить | Цитировать Сообщить модератору
 Re: Latch Miss Sources  [new]
YAP
Member

Откуда: Киев
Сообщений: 2116
вот и я подозреваю FGAC, измерял runstat-ом количество защелок при использовании FGAC - примерно удваивается
session_shared_cursor - задрал до небес (2000)

2Ааз - большое спасибо за комментарии
shared_pool сейчас 2Г, и нижняя граница для него в 2Г установлеа
литералы не использую!!! даже в поисковой форме приложения отдал предпочтение bind (дабы уберечься еще и от sql injection)

относительно RAC - я предполагал, что у каждого экземпляра будет свой shared pool, со своими наборами защелок и т. д. - возможно это как-то разгрузит ситуацию...

итого - пока буду патчить. Хотя была надежда на RAC.
26 мар 08, 15:19    [5462335]     Ответить | Цитировать Сообщить модератору
 Re: Latch Miss Sources  [new]
YAP
Member

Откуда: Киев
Сообщений: 2116
ну еще попробую shared_pool увеличить.
26 мар 08, 15:24    [5462382]     Ответить | Цитировать Сообщить модератору
 Re: Latch Miss Sources  [new]
AG#
Member

Откуда: Российская Федерация
Сообщений: 2305
YAP
ну еще попробую shared_pool увеличить.


FGAC конечно наиболее вероятная причина.
policy_type в dbms_rls не рассматривали выставлять на более разумное поведение ?
По дефаулту DYNAMIC используется, возможно он Вам не нужен или не везде.
policy функция ведь каждый раз при DYNAMIC выполняется, на каждом парсинге и на каждом выполнении курсора.
26 мар 08, 17:08    [5463243]     Ответить | Цитировать Сообщить модератору
 Re: Latch Miss Sources  [new]
YAP
Member

Откуда: Киев
Сообщений: 2116
завтра гляну, давно создавал полиси...

кстати в пользу FGAC говорит еще и такое обстоятельство:
очень четко прослеживается кривая-клюшка (см. К. Милсапа) зависимости времени отклика от количества пользователей APEX в минуту (используется кастомная аутентификация). На примерно 200 пользователях в минуту начитается загиб вверх.
При этом наблюдаются следующие эффекты: например если пользователей до 200, то версий запросов может зашкаливать за 200, время отклика в пределах пол-секунды(просто замечательное), приложение отдает 60 тыс. страниц в час.

Как только начинают "забрасывать шапочками" - превышается 200 пользователей в минуту, все показатели ухудшаются. На 250 пользователях - время отклика повышается уже до 4-8 секунд, при этом версий запросов становится меньше. Общее качество работы приложения ухудшается. Страниц в час падает до 40, а то и 30 тыс. И естественно все время - ожидания защелок shared pool & library cache

пользователи в минуту - вычисляются по статистике APEX

Кстати, попробовал установить нюжнюю границу для shared pool в 3Г, проработало пару часов - видимых изменений не было.
После этого установил нижнюю границу в 1Г, размер shared pool уменьшился до 1.6Г, в общем тоже не повлияло на обще качество.
26 мар 08, 22:23    [5464456]     Ответить | Цитировать Сообщить модератору
 Re: Latch Miss Sources  [new]
AG#
Member

Откуда: Российская Федерация
Сообщений: 2305
Зато dbms_rls можно штатно (когда надо) юзать как средство от bind peeking :-), без применения _недокументированного_параметра и DDL на низлежащих обьектах ;-)
26 мар 08, 23:21    [5464598]     Ответить | Цитировать Сообщить модератору
 Re: Latch Miss Sources  [new]
concepts
Member

Откуда: из засады
Сообщений: 279
Чему равен _kghdsidx_count ?
27 мар 08, 08:25    [5465036]     Ответить | Цитировать Сообщить модератору
 Re: Latch Miss Sources  [new]
YAP
Member

Откуда: Киев
Сообщений: 2116
AG#
Зато dbms_rls можно штатно (когда надо) юзать как средство от bind peeking :-), без применения _недокументированного_параметра и DDL на низлежащих обьектах ;-)


пардон, недопонял про недокументированный параметр и далее...

_kghdsidx_count=6

policy_type = DYNAMIC
но давненько уже пробовал policy_type=CONTEXT_SENSITIVE, улучшений не обнаружил :(
27 мар 08, 11:51    [5466473]     Ответить | Цитировать Сообщить модератору
 Re: Latch Miss Sources  [new]
AG#
Member

Откуда: Российская Федерация
Сообщений: 2305
YAP
AG#
Зато dbms_rls можно штатно (когда надо) юзать как средство от bind peeking :-), без применения _недокументированного_параметра и DDL на низлежащих обьектах ;-)


пардон, недопонял про недокументированный параметр и далее...

_kghdsidx_count=6

policy_type = DYNAMIC
но давненько уже пробовал policy_type=CONTEXT_SENSITIVE, улучшений не обнаружил :(


При 2Гб должно было быть _kghdsidx_count=7 вроде.

YAP

пардон, недопонял про недокументированный параметр и далее...


это небольшой offtop в Вашем случае был.Относился только к теме bind peeking.
27 мар 08, 12:11    [5466682]     Ответить | Цитировать Сообщить модератору
 Re: Latch Miss Sources  [new]
YAP
Member

Откуда: Киев
Сообщений: 2116
AG#

При 2Гб должно было быть _kghdsidx_count=7 вроде.


если следовать 455179.1, то 4 (или 2 если от CPU отталкиваться)
27 мар 08, 12:35    [5466872]     Ответить | Цитировать Сообщить модератору
 Re: Latch Miss Sources  [new]
AG#
Member

Откуда: Российская Федерация
Сообщений: 2305
YAP
AG#

При 2Гб должно было быть _kghdsidx_count=7 вроде.


если следовать 455179.1, то 4 (или 2 если от CPU отталкиваться)


Это потому что Oracle у Вас не пропатченный(bug 4994956 пролечен в 10.2.0.3), поэтому по 256Мб subpools идут.7 - максимальное кол-во пулов.

Действительно, лучше вначале пропатчиться.При этом даже в 10.2.0.3 есть небольшие баги с shared_pool.Для них существуют one-off patches.
27 мар 08, 13:21    [5467245]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Oracle Ответить