26.11.2009, 10:43 | #1 |
Участник
|
счетчик производительности SQL cursors active
ax3sp3, интересует как ведет себя у кого счетчик производительности SQL connections active (описание Number of currently active SQL connections). У меня он почему-то перманентно растет. Отсюда вывод: либо утечка коннектов, либо счетчик глючит. Есть подозрение что глючит, потому что в настройках АОС стоит настройка Max. Open Cursors и она уже в несколько раз превышена.
__________________
--- SHiSHok |
|
26.11.2009, 12:32 | #2 |
Участник
|
Курсоры и коннекты - несколько разные вещи и между собой почти несвязаны!
Веб пользователи есть? |
|
26.11.2009, 12:41 | #3 |
Участник
|
Цитата:
Речь именно о курсорах! Обьект Navision Axapta Object Server, счетчик SQL cursors - active описание: Number of SQL cursors currently active. Web юзеров нет. ЗЫ: как бы заголовок темы поправить
__________________
--- SHiSHok |
|
26.11.2009, 13:12 | #4 |
Moderator
|
Настройка Max Open Cursors относится не ко всему AOS в целом, а к сессии. Фактически - это количество закэшированных запросов, которые Аксапта пытается реюзать в рамках сесии. При закрытии сессии, закэшированные курсоры теоретически должны быть закрыты. Но: Если вы поставили параметр session timeout (или как он там называется. В 2009 этот параметр отсутствует, а более старых версий системы под рукой нет чтобы посмотреть) в конфигурации сервера приложений (в control panel которая), то при выходе пользователя из системы, сессия на самом деле не закрывается, а тоже некоторое время хранится в кэше с целью повторного использования. Кстати - если этот параметр не трогать, то сессия тоже кэшируется. Кажется секунд 15 для сиквела и 2 минуты для оракла.
Так что в пределе, число закэшированных курсоров должно равняться среднему числу сессий, помноженному на максимальное число открытых курсоров. |
|
|
За это сообщение автора поблагодарили: alex55 (1). |
26.11.2009, 13:56 | #5 |
Участник
|
Цитата:
Сообщение от fed
Настройка Max Open Cursors относится не ко всему AOS в целом, а к сессии. Фактически - это количество закэшированных запросов, которые Аксапта пытается реюзать в рамках сесии. При закрытии сессии, закэшированные курсоры теоретически должны быть закрыты. Но: Если вы поставили параметр session timeout (или как он там называется. В 2009 этот параметр отсутствует, а более старых версий системы под рукой нет чтобы посмотреть) в конфигурации сервера приложений (в control panel которая), то при выходе пользователя из системы, сессия на самом деле не закрывается, а тоже некоторое время хранится в кэше с целью повторного использования. Кстати - если этот параметр не трогать, то сессия тоже кэшируется. Кажется секунд 15 для сиквела и 2 минуты для оракла.
Так что в пределе, число закэшированных курсоров должно равняться среднему числу сессий, помноженному на максимальное число открытых курсоров.
__________________
--- SHiSHok |
|
26.11.2009, 14:05 | #6 |
Administrator
|
__________________
Возможно сделать все. Вопрос времени |
|
26.11.2009, 14:56 | #7 |
Moderator
|
Цитата:
А в чем собственно первоначальная проблема ? Почему вопрос возник ? |
|
26.11.2009, 15:28 | #8 |
Участник
|
Цитата:
Интересно как в других системах 3-й версии (желательно sp3cu1) этот счетчик ведет себя. Когда АОС без пользователей этот счетчик должен быть = 0. На тестовой у меня все красиво (но там 2-3 человека живет и не сильно напрягают ф-ционал), а вот на основной счетчик растет и при выходе всех юзеров уже не 0.
__________________
--- SHiSHok |
|
26.11.2009, 15:40 | #9 |
Moderator
|
Ну я бы тогда заодно и SQL Connections помониторил бы. Если их количество по ночам не падает - то проблема не в курсорах, а в соединениях. Да и кстати я не вижу смысла ставить таймаут по соединению в 30 минут. Это на оракле соединения долго устанавливаются (типа секунду-две), а в сиквеле - можно было бы смело этот таймаут либо не трогать либо поставить туда секунд 30...
|
|
26.11.2009, 15:59 | #10 |
Участник
|
Цитата:
Сообщение от fed
Ну я бы тогда заодно и SQL Connections помониторил бы. Если их количество по ночам не падает - то проблема не в курсорах, а в соединениях. Да и кстати я не вижу смысла ставить таймаут по соединению в 30 минут. Это на оракле соединения долго устанавливаются (типа секунду-две), а в сиквеле - можно было бы смело этот таймаут либо не трогать либо поставить туда секунд 30...
насчет таймаута возможно вы правы, можно попробовать сделать по дефолту, но мне кажется что не сильно изменит картину. На тестовой наблюдал как SQL cursors - active себя ведут: после закрытия формы, отработки кода в течении 5-7 сек счетчик активных курсоров уменьшается в исходное состояние (это с моими таймаутами)
__________________
--- SHiSHok Последний раз редактировалось SHiSHok; 26.11.2009 в 16:05. |
|
04.12.2009, 16:27 | #11 |
Участник
|
Цитата:
Сообщение от SHiSHok
Обьект Navision Axapta Object Server, счетчик SQL cursors - active
Т. е. реально есть ли эти курсоры на SQL, или это какая-то утечка/фантомы/глюки мониторинга именно на АОСе. Цитата:
Сообщение от egorych
Курсоры и коннекты - несколько разные вещи и между собой почти не связаны!
P. S. Число соединений-то не растёт... Но это соединения с АОСом. А что с сиквелом? Ну, правда, надо смотреть, есть ли ещё 2-хзвенные... |
|
16.12.2009, 10:12 | #12 |
Участник
|
в 2000 этого нет.
__________________
--- SHiSHok |
|
16.12.2009, 10:34 | #13 |
Участник
|
Интересное поведение счетчика SQL cursors - active: после старта АОС некоторое время отображает вроде как адекватное кол-во курсоров т.е. Active = Cached - Total.
"SQL cursors - total" = Total number of open SQL cursors (active and cached). В один прекрасный момент значение Active инвертируется (например FFFFFFF4h) и дальше отображается в таком виде. курсоры потихоньку растут (значение уменьшается, т.к. инверсия) пока АОС не слетит. может кто знает где копать?
__________________
--- SHiSHok |
|
18.01.2011, 13:44 | #14 |
Участник
|
Всем доброго времени суток
Хотелось бы возродить этот заброшенный тред. Имеем в компании аналогичную проблему. Если аосы работают без перезапуска более 5-7 дней, то наблюдаются падения аосов либо аномальные тормоза. Имеем два аоса, находящиеся на отдельных машинах. Аосы объединены в кластер. Чтобы было, о чем подумать, настроил мониторинг счетчиков Navision Axapta Object Server. Выяснилась такая картина: 1. на первом аосе значение счетчика SQL cursors - active колеблется в районе 450-600, а на втором стабильно растет, примерно по 400-500 в день. 2. последний случай тормозов (множественные блокировки друг друга среди пользователей, повышенная нагрузка на сервер MSSQL) совпал по времени с тем, что на втором аосе значение этого счетчика доросло примерно до 4500 и стабилизировалось на этой отметке на несколько часов, пока вечером аосы не перезапустили. Из того, что уже обсуждалось выше по нашей ситуации могу сказать следующее: * Параметры Max Open Cursors и session timeout в настройках аосов у нас не указаны. * Значение счетчика SQL connections - active меняется в зависимости от количества клиентов. При уменьшении SQL connections - active уменьшения SQL cursors - active не происходит. * На сервере MSSQL значение счетчика SQLServer:Cursor Manager by Type/Active cursors ведет себя вполне нормально и после окончания рабочего дня снижается почти до нуля. Хотелось бы узнать, как эта проблема решилась у автора топика. И кто что может посоветовать в такой ситуации. |
|
18.01.2011, 16:19 | #15 |
NavAx
|
Я бы начал с проверки совпадения версий .exe АОСов и глобальной компиляции приложения в подходящем по версии клиенте. Ну и установке заодно как минимум SP3 на SQL 2005, будет такая версия используется, а лучше - SP4 c Cumulative updates.
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты... |
|
20.01.2011, 17:40 | #16 |
Участник
|
Цитата:
Если у Вас 5 дней нормально пашет, введите штатную процедуру перезагрузки АОСов на выходных. Я, например, на выходных заливаю проекты + перегружаю Ax. PS. версия Ax и сиквела какая?
__________________
--- SHiSHok |
|
21.03.2012, 14:03 | #17 |
Участник
|
SQL active cursors по всей видимости к нашей ситуации не имеет отношения.
В общем, спустя долгое время наконец-то занялись более плотно этой проблемой. Вынесли пакетные обработки на третий аос, помониторили счетчики производительности. Судя по всему, дело в утечках памяти в АОСе при выполнении пакетных заданий. Расход памяти на старых аосах, где сидят одни обычные пользователи, стабилизировался, а на новом наблюдается стабильный рост. Особенно в ночное время, когда выполняются самые тяжелые обработки |
|
Теги |
performance, cursor |
|
|