Я пытаюсь свести к минимуму влияние на производительность записи журналов в SQL Server из приложения .NET Core.
Раньше я оборачивал раковину Serilog File
в раковину Async
- и это очень помогало производительности.
Документация о приемнике SQL Server гласит, что он периодически регистрирует записи в журнале и / или при достижении batchPostingLimit
. Что я не могу найти, так это какую-то информацию о том, что происходит, когда он решает выполнить команду INSERT
.
Это происходит асинхронно по отношению к коду, который вызывает Logger.Log(...)
или нет? Если нет, имеет ли смысл оборачивать приемник SQL Server Serilog внутри Async?