【问题标题】:Does it make sense to wrap the SQL Server Serilog sink inside Async?将 SQL Server Serilog 接收器包装在 Async 中是否有意义?
【发布时间】:2019-10-23 23:24:54
【问题描述】:

我正在尝试最大程度地减少从 .NET Core 应用程序将日志写入 SQL Server 的性能影响。

过去,我将 Serilog File 接收器包裹在 Async 接收器中 - 这极大地提高了性能。

SQL Server sink documentation 声明它会定期和/或在达到batchPostingLimit 时批处理日志条目。我找不到任何关于当它决定发出INSERT 命令时会发生什么的信息。

它是否与调用Logger.Log(...) 的代码异步发生?如果没有,将 SQL Server Serilog 接收器包装在 Async 中是否有意义?

【问题讨论】:

标签: c# sql-server .net-core serilog


【解决方案1】:

SQL Server 接收器derives from PeriodicBatchingSink,它异步执行所有批处理操作。

所以不,Serilog.Sinks.Async 不会提高当前形式的 SQL Server 接收器的性能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多