|
как избавиться от virtual circuit wait
|
|||
---|---|---|---|
#18+
Всем привет. Помогите плиз избавиться от virtual circuit wait. Имеем RAC ORACLE 11.2.0.3. Проблема проявляется в том что легкие процедуры (одна из них просто устанавливает значение контекстной переменной) время от времени могут выполняться до нескольких секунд (до 2-5% вызовов). Вот словил один такой вызов, правда здесь был инсерт: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46.
На табличке есть ряд тригеров, которые по дблинку синхронизируют изменения в этой табличке с другой базой. В трейсе 'virtual circuit wait' идут в перемешку с 'SQL*Net message to dblink', вот фрагмент: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
В подтверждение версии того, что это как-то связано с дблинком говорит, что были вейты во время коммита: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
obj#=535247 из строчки virtual circuit wait показывавает на один из индексов таблички MANAGER. Администраторы говорят что проблем с шаред серверами и прочими диспатчерами нет. Код: plsql 1. 2. 3. 4. 5. 6. 7.
Если посмотреть авр на базу, то 'virtual circuit wait' в топах на первом месте с большим отрывом: Код: plsql 1. 2. 3. 4. 5.
на всякий случай присоединяю трейс файл и авр репорт: ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2015, 12:05 |
|
как избавиться от virtual circuit wait
|
|||
---|---|---|---|
#18+
здесь авр: ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2015, 12:06 |
|
как избавиться от virtual circuit wait
|
|||
---|---|---|---|
#18+
niv76Администраторы говорят что проблем с шаред серверами и прочими диспатчерами нет. Я бы так не сказал, т.к. в AWR мы видим 96.92% busy в Shared Servers Utilization. И если они ждут WAIT(RECEIVE), то возможно проблема в этом: Shared Servers and Automatic Workarea Management . Также это и другое описано тут: Troubleshooting: Virtual Circuit Waits (Doc ID 1415999.1). ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2015, 14:21 |
|
как избавиться от virtual circuit wait
|
|||
---|---|---|---|
#18+
niv76, кину еще ссылку на блог Игоря https://iusoltsev.wordpress.com/2011/03/26/virtual-circuit-wait-huge-fetches/, про влияние arraysize на эти ожидания, и то что значительная часть этих ожиданий idle. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2015, 14:38 |
|
как избавиться от virtual circuit wait
|
|||
---|---|---|---|
#18+
wurduniv76Администраторы говорят что проблем с шаред серверами и прочими диспатчерами нет. Я бы так не сказал, т.к. в AWR мы видим 96.92% busy в Shared Servers Utilization. Спасибо. Сори. С авром обманул. Это старый авр, после него мы добавляли кол-во шаред серверов и эта статистика поменялась, но кол-во virtual circuit wait все равно очень высокое . Читал доку: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
У нас похоже "the current and average rates are significantly less than the maximums". Думаю стоит ли пробовать уменьшить кол-во диспатчеров, как тут советуют. Не понимаю этот совет. Что это может дать... Можете объяснить? Вот фрагмент данных: CUR_MSG_RATECUR_SVR_BUF_RATECUR_SVR_BYTE_RATECUR_SVR_BYTE_PER_BUFMAX_MSG_RATEMAX_SVR_BUF_RATEMAX_SVR_BYTE_RATEMAX_SVR_BYTE_PER_BUFAVG_MSG_RATEAVG_SVR_BUF_RATEAVG_SVR_BYTE_RATEAVG_SVR_BYTE_PER_BUF231813852776112189101439697076371215116917923514854852148451207791853033121176140611000160641819902248182602166969914933522862142924790276371220159997430751871423403198673263712801519230000133753919897808182101141321366227114267326219909152606415123362910363641184543199341253033702013112538793263445873201792853010191204935230006972872008570530101511017765358073666434272024411434408121314264910773369460765229481827013941329111416321821077200162355477181528789038377352155517443328182161162518 Прикреплю актуальные авр с обеих нод (время проблемного инсерта попало в АВР). ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2015, 20:13 |
|
как избавиться от virtual circuit wait
|
|||
---|---|---|---|
#18+
Авр со второй ноды ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2015, 20:14 |
|
как избавиться от virtual circuit wait
|
|||
---|---|---|---|
#18+
данные по системным вьюшкам в файлах (последняя цифра в имени файла = номеру запроса): --1 SELECT t.*, DECODE(TOTALQ, 0, 'No Requests', WAIT/TOTALQ || ' HUNDREDTHS OF SECONDS') "AVERAGE WAIT TIME PER REQUESTS" FROM gV$QUEUE t WHERE TYPE = 'COMMON'; --2 select * from gV$SHARED_SERVER_MONITOR ; --3 SELECT s.*, (BUSY/(BUSY + IDLE)) * 100 "%TIME BUSY" FROM gV$SHARED_SERVER s; --4 select * FROM gV$SHARED_SERVER_MONITOR; --5 select * from gV$CIRCUIT; --6 select * from gV$DISPATCHER; --7 select * from gV$DISPATCHER_CONFIG; --8 select * from gV$DISPATCHER_RATE; --9 select * from gV$SESSION; ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2015, 20:20 |
|
как избавиться от virtual circuit wait
|
|||
---|---|---|---|
#18+
Я бы проверил в начале что это не Bug 11895446 - Excessive 'virtual circuit wait' with shared servers due to instance locks held in RAC environment (Doc ID 11895446.8). Вообще конечно грустно все это выглядит. Два ядра, причем боюсь что виртуальные. CPU перегружены, ресурс менеджер душит шаред сервера. И еще зачем-то рак. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2015, 14:17 |
|
как избавиться от virtual circuit wait
|
|||
---|---|---|---|
#18+
wurduЯ бы проверил в начале что это не Bug 11895446 - Excessive 'virtual circuit wait' with shared servers due to instance locks held in RAC environment (Doc ID 11895446.8). Вообще конечно грустно все это выглядит. Два ядра, причем боюсь что виртуальные. CPU перегружены, ресурс менеджер душит шаред сервера. И еще зачем-то рак. Спасибо большое, wurdu. Да, похоже что из-за него. У нас ORACLE 11.2.0.3 Versions confirmed as being affected 11.2.0.3 11.2.0.2 Fixed: The fix for 11895446 is first included in 12.1.0.1 (Base Release) 11.2.0.4 (Server Patch Set) На выходных админы будут пробовать патчить сервер, посмотрим... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2015, 15:23 |
|
|
start [/forum/topic.php?fid=52&gotonew=1&tid=1889191]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
68ms |
get topic data: |
13ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 197ms |
0 / 0 |