|
Superserver: как узнать, какой коннект грузит процессор?
|
|||
---|---|---|---|
#18+
Firebird 3.0 Superserver ~ 10 активных баз, самая крупная 800 Гб Windows Server 2012 Ситуация: при отсутствии активности со стороны клиентов длительное время (более суток) полностью загружена Firebird'ом одна нитка процессора. Локализовать проблему (но не понять её причину) удалось последовательным просмотром псевдотаблиц мониторинга всех активных баз. В одной из баз обнаружена очень долгая транзакция, её "хозяев" найти не удалось. Проблема снята перезапуском конкретной базы (full shutdown, online). Вопрос: как в режиме Superserver понять, коннект к какой базе грузит процессор, не перебирая вручную все возможные базы? Использовались инструменты: Sysinternals Process Explorer IBExpert ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2019, 18:58 |
|
Superserver: как узнать, какой коннект грузит процессор?
|
|||
---|---|---|---|
#18+
а дисковой активности у этой нитки не было, только процессорная ? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2019, 19:10 |
|
Superserver: как узнать, какой коннект грузит процессор?
|
|||
---|---|---|---|
#18+
Не додумался посмотреть. В другой раз буду знать. Смутно припоминаю, что на графиках производительности, которые выводит ProcessExplorer, вроде не было особой дисковой активности. Но там общая по всем процессам. А как посмотреть дисковую активность конкретной нитки? По процессам еще можно как-то, но по нитям? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2019, 20:03 |
|
Superserver: как узнать, какой коннект грузит процессор?
|
|||
---|---|---|---|
#18+
shalamyansky, в таблицах мониторинга дисковая активность есть ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2019, 21:01 |
|
Superserver: как узнать, какой коннект грузит процессор?
|
|||
---|---|---|---|
#18+
Посмотрел, и правда есть. Ну, буду иметь в виду, если что, спасибо. Но к решению задачи, вынесенной в заголовок, это, к сожалению, не сильно приближает. Хотелось бы, например, иметь инструмент а-ля совокупные таблицы мониторинга по всем базам. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2019, 21:57 |
|
Superserver: как узнать, какой коннект грузит процессор?
|
|||
---|---|---|---|
#18+
shalamyanskyсовокупные таблицы мониторинга по всем базамЭто вряд ли. Вот трейс - работает независимо от БД. Но если там, например, один запрос молотит полчаса и не выдаёт записи - трейс его только по окончании покажет ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2019, 23:34 |
|
Superserver: как узнать, какой коннект грузит процессор?
|
|||
---|---|---|---|
#18+
shalamyanskyА как посмотреть дисковую активность конкретной нитки? По процессам еще можно как-то, но по нитям? ну и смотри по процессам, зачем тебе нити? ты ж говоришь у тебя все остальные БД в idle process monitor, фильтр по процессу fbserver, фильтр по маске файлов типа *.fdb и смотришь как часто и какая БД вываливается тебе же сам говоришь надо не нить найти, а БД! shalamyanskyконнект к какой базе грузит процессор ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 12:02 |
|
Superserver: как узнать, какой коннект грузит процессор?
|
|||
---|---|---|---|
#18+
Resource Monitor показывает IO в разбивке по файлам ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 12:05 |
|
Superserver: как узнать, какой коннект грузит процессор?
|
|||
---|---|---|---|
#18+
а в ProcExp есть жесткий способ - открываешь мониторилку дисковой нагрузки, например Диспетчер Задач в Windows 8+, в PE открываешь список нитей процесса, и начинаешь нитям по одной делаеть Suspend/Resume, и смотришь при усыплении какой нити димсковая активность резко падает. ...если конечно, тебе нити реально нужны зачем-то. Надеюсь полусекундную приостановку любой нити FB переживёт без фатальных последствий. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 12:07 |
|
Superserver: как узнать, какой коннект грузит процессор?
|
|||
---|---|---|---|
#18+
Arioch, нужно или очень хорошо понимать внутренности испытуемого процесса, или совершенно ничего не понимать в мультипоточном программировании, чтобы нести такую чушь. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 13:46 |
|
Superserver: как узнать, какой коннект грузит процессор?
|
|||
---|---|---|---|
#18+
hvlad, а что самое фатальное может случиться в FB при полусекундном suspend любой нити в ситуации shalamyansky при отсутствии активности со стороны клиентов длительное время (более суток) полностью загружена Firebird'ом одна нитка процессора ? отвалятся несколько фоновых транзакций, который запускаются независимо от действий пользователя? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 13:58 |
|
Superserver: как узнать, какой коннект грузит процессор?
|
|||
---|---|---|---|
#18+
Arioch, фатального - ничего, отвалится - не надейся. Всё просто остановится. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 14:00 |
|
Superserver: как узнать, какой коннект грузит процессор?
|
|||
---|---|---|---|
#18+
Ariochprocess monitor, фильтр по процессу fbserver, фильтр по маске файлов типа *.fdb Да, воспользовался process monitor'ом, спасибо за подсказку. Давненько не брал я в руки шашек. Нужная база быстро нашлась, когда ситуация повторилась. Проблема таки оказалась в клиенте (Java Spring JPA). Зачем он начинает вдруг бомбардировать сервер непрерывными запросами по кругу, предстоит еще разбираться. Но это уже другая история. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2019, 20:45 |
|
|
start [/forum/topic.php?fid=40&fpage=20&tid=1560594]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 9ms |
total: | 129ms |
0 / 0 |