|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
Добрый вечер. Хотелось бы иметь возможность логирования процесса выполнения хранимых процедур. Например есть процедура "Proc1" которая внутри себя вызывает еще некоторое количество процедур. В них хочу писать что-то вроде "log.Info('....'); log.Error('...')". Потом по таким вещам легко находить проблемы в бизнес логике, конечно если она на T-SQL, а в моем случае это так. В Оракле использовал фреймворк "Log 4 pl/sql" отличная поделка, допиливалась под нужды. Под MS SQL не смог найти :( Отсутствие автономных транзакций вообще завело меня в тупик :( Поделитесь опытом. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2015, 22:21 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
invm, Идея интересная. Но как-то чересчур использовать очереди для логирования. Честно говоря удивлен скудностью функционала, это для версии 2014. В Оракле такие штуки уже не помню сколько лет существуют. Это я так, взгрустнул :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 01:12 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
mezzanine, просто включить аудит? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 07:45 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
Код: sql 1.
- как вариант. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 09:55 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
Jovanny Код: sql 1.
- как вариант. Only a member of the sysadmin fixed server role or a user with ALTER TRACE permissions can specify WITH LOG. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 10:26 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
mezzanineinvm, Идея интересная. Но как-то чересчур использовать очереди для логирования. Какие очереди? Там про sp_trace_generateevent, это собственно и есть генерация пользовательского лога. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 11:30 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
человек_ниоткуда, Такие очереди: Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 11:33 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
mezzanineИдея интересная. Но как-то чересчур использовать очереди для логирования.Есть какие-то объективные критерии для такой оценки? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 11:37 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
Как писал выше идея в том чтоб логировать бизнес процессы. Идея не новая и широко применяется. Запускается джобом процедура, допустим закрытие дня. Она вызывает много других процедур и естественным требованием должно быть ее полное выполнение (комит) или при ошибке полный откат. После вызова N процедур получить просто exception не выход. Логи в автономной транзакции дают возможность гарантировано получить так сказать мой стек вызова. Аудит. С его помощью можно контролировать что в процедуре будет логироваться? Например добавление записи типом "Warning" и из 10 входящих параметров залогировать только 3 нужных ну и в таком духе. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 11:41 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
invm, Моих нет. Только читал статью как строили репликацию на очереди и были недовольны стабильностью и скоростью. Как-то много лишних телодвижений, заворачиваем сообщение в XML, отправляется в очередь, процедура выгребает данные из очереди, разворачивает сообщение и наконец то вставляет в таблицу лога. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 11:46 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
mezzanineТолько читал статью как строили репликацию на очереди и были недовольны стабильностью и скоростью.Не допускаете, что авторы просто что-то неправильно делают? mezzanineКак-то много лишних телодвижений, заворачиваем сообщение в XML, отправляется в очередь, процедура выгребает данные из очереди, разворачивает сообщение и наконец то вставляет в таблицу лога.Вам предложен механизм асинхронного логирования, позволяющий легко включать/выключать и, при желании, пренаправлять логирование на другой сервер/БД, при этом ничего не меняя в коде. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 12:22 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
mezzanine, Можно написать процедуру только для логирования и вызывать ее в каждой процедуре что бы используете. Процедура будет писать в какую-то табличку начало и конец бизнес логики и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 12:49 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
mezzanineinvm, Идея интересная. Но как-то чересчур использовать очереди для логирования. Честно говоря удивлен скудностью функционала, это для версии 2014. В Оракле такие штуки уже не помню сколько лет существуют. Это я так, взгрустнул :) В каком смысле - чересчур? В статье описан штатный внетранзакционный механизм. Тот же "оракловский фреймворк", только вид сбоку. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 14:28 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
_human, Так и хочется сделать. Проблемы в транзакциях. При rollback-е процедуры бизнес логики все логи также исчезнут. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 15:15 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
invm, Вполне возможно. Спасибо за предложенный вариант. Буду прикручивать к базе, посмотрю как работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 15:18 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
Возможно когда нибудь внедрят автономные транзакции, тикет с 2007 года активный Add support for autonomous transactions . ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 15:23 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
mezzanine, в CATCH можно все отловить. Так же можно заглягуть в лог БД fn_dblog(null,null) за доп. инфо. Полезная вью - sys.dm_tran_active_transactions ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 15:24 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
_human, Простите, а как это поможет решить проблему с откатом транзакции и необходимостью комита записей лога (все это в одной транзакции)? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 15:32 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
mezzanine_human, Простите, а как это поможет решить проблему с откатом транзакции и необходимостью комита записей лога (все это в одной транзакции)? 1. Канешно, кажется удобным наличие возможности журналирования... 2. Но если подумать - это навроде говнокода. Журналы то копятся - место и время жрут. 3. Для запуска транзакции и получения ошибки ПОВТОРНО для анализа достаточно журналировать только ИСХОДНЫЕ параметры транзакции. Что, очевидным образом, можно сделать ВНЕ транзакции. 4. При ошибке просто запускаем транзакцию заново с этими параметрами и лицезреем ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 15:44 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
aleks21. Канешно, кажется удобным наличие возможности журналирования... Очень удобно. Иногда полезно логировать всякие штуки, типа времени выполнения конкретного стейтмента и кол-во зааффекченных записей. aleks22. Но если подумать - это навроде говнокода. Журналы то копятся - место и время жрут.О да, проблема. Решается банальным Sliding Window. aleks23. Для запуска транзакции и получения ошибки ПОВТОРНО для анализа достаточно журналировать только ИСХОДНЫЕ параметры транзакции. Что, очевидным образом, можно сделать ВНЕ транзакции. 4. При ошибке просто запускаем транзакцию заново с этими параметрами и лицезреем ошибку.Ошибка может быть time-related или еще какая related, а исходными данными может быть буфер на 10кк записей. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 15:54 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
Можно прикрутить механизм DCT для ограничения времени хранения. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 16:09 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
TDC, то есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 16:10 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
mezzanineВозможно когда нибудь внедрят автономные транзакции, тикет с 2007 года активный Add support for autonomous transactions . вроде мне расказыали про фокус как это можно реализовать в SQL-server сделав линк-сервер сам на себя и делая DML Через его - но подробностей не скажу ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 18:58 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
Варианты, которые имею право на жизнь: loopback linked server Service Broker CLR Мы протестили у себя, в наших условиях с небольшим отрывом по производительности победил CLR (на нем и сделали). ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 19:25 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
Гавриленко Сергей АлексеевичВарианты, которые имею право на жизнь: loopback linked server Service Broker CLR Мы протестили у себя, в наших условиях с небольшим отрывом по производительности победил CLR (на нем и сделали). Вернее, я наврал немного. CLR и SB были примерно одинаковы, чтобы не заморачиваться с последним, выбрали CLR. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 19:35 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
Гавриленко Сергей Алексеевич, Спасибо. Погуглю еще по CLR. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2015, 10:18 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
Минус CLR в том, что он требует привлечения С# разработчика ( и его рабочего времени ) и соответствующих инструментов. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2015, 11:40 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
Гавриленко Сергей Алексеевич Гавриленко Сергей АлексеевичВарианты, которые имею право на жизнь:
за последние 5 лет ничего не поменялось? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 17:38 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
andreymx Гавриленко Сергей Алексеевич пропущено... Вернее, я наврал немного. CLR и SB были примерно одинаковы, чтобы не заморачиваться с последним, выбрали CLR. за последние 5 лет ничего не поменялось? Extended Events ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 17:42 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
PizzaPizza mezzanine _human, Простите, а как это поможет решить проблему с откатом транзакции и необходимостью комита записей лога (все это в одной транзакции)? Because table variables have limited scope and aren't part of the persistent database, transaction rollbacks don't affect them. Делайте свой велосипед на переменных. Ну или почитайте как это делается обычно. ЗЫ. Ой блин, некропост прокомментировал ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 20:35 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
mezzanine _human, Так и хочется сделать. Проблемы в транзакциях. При rollback-е процедуры бизнес логики все логи также исчезнут. 1. С помощью CLR-сборок. Она создаст отдельный коннект и там все сохранит без отката. 2. С помощью переменных и таблиц-переменных. Их содержимое не откатывается. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 09:16 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
L_argo mezzanine _human, Так и хочется сделать. Проблемы в транзакциях. При rollback-е процедуры бизнес логики все логи также исчезнут. 1. С помощью CLR-сборок. Она создаст отдельный коннект и там все сохранит без отката. 2. С помощью переменных и таблиц-переменных. Их содержимое не откатывается. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 09:21 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
msLex andreymx пропущено... коллеги, за последние 5 лет ничего не поменялось? Extended Events ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 09:23 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
andreymx L_argo пропущено... Есть такая проблема. Ее можно решить: 1. С помощью CLR-сборок. Она создаст отдельный коннект и там все сохранит без отката. 2. С помощью переменных и таблиц-переменных. Их содержимое не откатывается. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 10:11 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
andreymx msLex пропущено... Extended Events К сожалению, нет. Но общий смысл, логирование делается не изнутри модуля (процедура, триггер), а снаружи, через extended event сессию. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 10:37 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
andreymx Гавриленко Сергей Алексеевич пропущено... Вернее, я наврал немного. CLR и SB были примерно одинаковы, чтобы не заморачиваться с последним, выбрали CLR. за последние 5 лет ничего не поменялось? Надо еще подождать ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 10:51 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
L_argo mezzanine _human, Так и хочется сделать. Проблемы в транзакциях. При rollback-е процедуры бизнес логики все логи также исчезнут. 1. С помощью CLR-сборок. Она создаст отдельный коннект и там все сохранит без отката. 2. С помощью переменных и таблиц-переменных. Их содержимое не откатывается. 3. Очереди брокера? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 10:52 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
andreymx а есть примерчик реализации логов на Extended Events посмотреть? Только в отличие от 17329722 , придется сделать отдельный джоб или еще что-то по разгребанию и перекладыванию результатов трассировки. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 10:53 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
L_argo andreymx пропущено... второй вариант кажется слишком геморным а можно какой-то алгоритм набросать в пяти строчках? например: вызывающая процедура создала таблицу-переменную и заполнила первый шаг вызываемая процедура заполнила второй шаг триггер заполнил третий шаг (кстати, как он увидит таблицу-переменную?) и т.д. спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 10:55 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
andreymx, если копать так глубоко, что путь с sp_trace_generateevent (уведомления о событиях) наилучший, т. к. сбор данных о событиях выполняется асинхронно с работой процедур. Требуемые данные вместе с временем появления "заворачиваете" в XML и выбрасываете в событие. Затем сборщик читает очередь событий и помещает данные в таблицу. "Оформлять" придется индивидуально каждую процедуру, если наборы данных будут отличаться, например, захотите сохранить значения переменных, имена открытых курсоров, снимок состояния сессий и так далее. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 11:59 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
а можно какой-то алгоритм набросать в пяти строчках? например: вызывающая процедура создала таблицу-переменную и заполнила первый шаг вызываемая процедура заполнила второй шаг триггер заполнил третий шаг (кстати, как он увидит таблицу-переменную?) и т.д.Я наполнял временные таблицы (из триггера видимы), а потом, в случае роллбека, заполнял табличную переменную, которая не откатывалась. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 12:38 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
L_argo а можно какой-то алгоритм набросать в пяти строчках? например: вызывающая процедура создала таблицу-переменную и заполнила первый шаг вызываемая процедура заполнила второй шаг триггер заполнил третий шаг (кстати, как он увидит таблицу-переменную?) и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 17:39 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
andreymx L_argo пропущено... Я наполнял временные таблицы (из триггера видимы), а потом, в случае роллбека, заполнял табличную переменную, которая не откатывалась. Данный подход плох тем, что: а) часть ошибок переводит транзакцию в разряд нефиксируемых, после чего любые операции, которые требуют записи в лог, отваливаются с соответсвующим егогом, а запсиь в табличные переменные как раз требует записи в лог б) в некоторых ситуациях (высокое severity, kill или дамп сессии, дамп сервера, свет закончился и т.п.) до catch дело не дойдет вовсе Т.е. во всех описанных выше случаях лог будет потерян, а с другими средствами логирования хотя бы какую-то часть его можно было бы сохранить. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 17:47 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
Гавриленко Сергей Алексеевич, А можно увидеть текст твоей clr? Конечно, без имён таблиц и инсертов Вы там сессиями как управляете? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 20:05 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
andreymx Гавриленко Сергей Алексеевич, А можно увидеть текст твоей clr? Конечно, без имён таблиц и инсертов Вы там сессиями как управляете? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 22:20 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
А как организовано хранение буфера? Через какой-нибудь статик? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 23:53 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
andreymx А как организовано хранение буфера? Через какой-нибудь статик? А что - статики можно безнаказанно использовать в SQLCLR процедурах? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2020, 08:44 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
авторДанный подход плох тем, чтоДа. Знаю. Основная задача была отлавливать ошибки бизнес-логики, н-р превышение товарного лимита, остатков и т.д. Часть из них хоть и можно было ловить до начала транзакции проведения документа, но это намного сложнее и оверхеднее. Ошибки обрыва коннекта и так нормально выскакивали. Ценность их логирования невысокая. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2020, 09:20 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
Ролг Хупин andreymx А как организовано хранение буфера? Через какой-нибудь статик? А что - статики можно безнаказанно использовать в SQLCLR процедурах? потому и задал вопрос, возможно, некорректный ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2020, 09:44 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
andreymx Ролг Хупин пропущено... А что - статики можно безнаказанно использовать в SQLCLR процедурах? потому и задал вопрос, возможно, некорректный Любые вопросы корректные. Я бы для такой задачи сначала попробовал приспособить брокер. Собственно, так и сделал когда-то. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2020, 09:55 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
Ролг Хупин andreymx А как организовано хранение буфера? Через какой-нибудь статик? А что - статики можно безнаказанно использовать в SQLCLR процедурах? Для логирования через clr, в любом случае нужно делать unsafe сборку, т.к. открывается новый коннекте. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2020, 09:58 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
andreymx, А какой поток данных лога ожидается? Если это единицы записей в секунду, то хватит прямой записи по одной строке из clr без буфферизации. Делаете статик поле с коннектом, инициализируете при первом обращении, а потом просто проверяете, что соединение открыто. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2020, 10:09 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
msLex andreymx, А какой поток данных лога ожидается? Если это единицы записей в секунду, то хватит прямой записи по одной строке из clr без буфферизации. Делаете статик поле с коннектом, инициализируете при первом обращении, а потом просто проверяете, что соединение открыто. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2020, 10:40 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
andreymx msLex andreymx, А какой поток данных лога ожидается? Если это единицы записей в секунду, то хватит прямой записи по одной строке из clr без буфферизации. Делаете статик поле с коннектом, инициализируете при первом обращении, а потом просто проверяете, что соединение открыто. Да. Но потребуется unsafe сборка. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2020, 11:14 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
andreymx, авторвсё-таки статик можно Не только можно, но и нужно. Например, можно буферизировать справочные таблицы и использовать CLR функции при сложных математических вычислениях. Статические объекты не будут выгружены после выполнения и любой сеанс будет иметь доступ к этим данным. Таким способом можно организовать совместимые и несовместимые блокировки процессов, использующих общий словарь, например. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2020, 12:33 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
Владислав Колосов andreymx, авторвсё-таки статик можно Не только можно, но и нужно. Например, можно буферизировать справочные таблицы и использовать CLR функции при сложных математических вычислениях. Статические объекты не будут выгружены после выполнения и любой сеанс будет иметь доступ к этим данным. Таким способом можно организовать совместимые и несовместимые блокировки процессов, использующих общий словарь, например. AWS RDS ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2020, 12:56 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
Владислав Колосов andreymx, авторвсё-таки статик можно Не только можно, но и нужно. Например, можно буферизировать справочные таблицы и использовать CLR функции при сложных математических вычислениях. Статические объекты не будут выгружены после выполнения и любой сеанс будет иметь доступ к этим данным. Таким способом можно организовать совместимые и несовместимые блокировки процессов, использующих общий словарь, например.интересно что произойдёт при переключении между репликами ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2020, 13:01 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
andreymx Владислав Колосов andreymx, пропущено... Не только можно, но и нужно. Например, можно буферизировать справочные таблицы и использовать CLR функции при сложных математических вычислениях. Статические объекты не будут выгружены после выполнения и любой сеанс будет иметь доступ к этим данным. Таким способом можно организовать совместимые и несовместимые блокировки процессов, использующих общий словарь, например. что произойдёт при переключении между репликами Сборка "поднимется" с нуля. Т.е. пройдет через стадию инициализации. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2020, 13:14 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
1. а если 100/500/10000 инсертов в сек по всем юзерам без кеширования? 1.1 Меня эти глобальные переменные не вдохновляют 1.2 только один экземпляр функции запускается? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2020, 13:50 |
|
Логирование хранимых процедур
|
|||
---|---|---|---|
#18+
andreymx, у CLR есть неприятная особенность как выгрузка домена приложения, при этом сервер ею оперирует обычно сам, на высоконагруженной системе дополнительно нужно учитывать этот факт и писать сериализатор/десериализатор ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2020, 14:07 |
|
|
start [/forum/topic.php?all=1&fid=46&tid=1685869]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
78ms |
get tp. blocked users: |
2ms |
others: | 264ms |
total: | 420ms |
0 / 0 |