Имеет ли смысл оборачивать приемник SQL Server Serilog внутри Async? - PullRequest
1 голос
/ 09 июня 2019

Я пытаюсь свести к минимуму влияние на производительность записи журналов в SQL Server из приложения .NET Core.

Раньше я оборачивал раковину Serilog File в раковину Async - и это очень помогало производительности.

Документация о приемнике SQL Server гласит, что он периодически регистрирует записи в журнале и / или при достижении batchPostingLimit. Что я не могу найти, так это какую-то информацию о том, что происходит, когда он решает выполнить команду INSERT.

Это происходит асинхронно по отношению к коду, который вызывает Logger.Log(...) или нет? Если нет, имеет ли смысл оборачивать приемник SQL Server Serilog внутри Async?

1 Ответ

1 голос
/ 10 июня 2019

Приемник SQL Server происходит от PeriodicBatchingSink, который выполняет все пакетные операции асинхронно.

Так что нет, Serilog.Sinks.Async не улучшит производительность приемника SQL Server в его текущей форме.

...