【发布时间】:2023-03-12 18:45:01
【问题描述】:
我在 asp.net 2.0 应用程序中使用 NLog;它获得大量流量并记录大量数据(平均每天约 5000 条日志记录),用于错误记录和统计目的。它使用两个不同的数据库目标,每个目标调用一个存储过程,并且都使用相同的连接字符串 (SQL Server)。
从一些文档中复制目标定义后,两个目标都将 keepConnection 设置为“true”,我知道这是默认值。我的问题是,这是可取的吗?我确实经常看到 NLog 在数据库上打开了许多打开的连接(查看活动监视器中的打开进程),而且我有时会遇到连接失败的情况日志;我很想尝试关闭 keepConnection,但我也担心大量的打开和关闭操作。我没有查看源代码,而且我不确定我是否能够回答我自己的问题,所以我不确定连接相对于其父应用程序所在的池是如何工作的。
有什么想法、警告或建议吗?我知道我的问题有点含糊 - 只是我找不到比这个属性的基本文档更多的东西,并且想要一些关于利弊的反馈 - 即,为什么将它放入 NLog 中第一名? 谢谢。
【问题讨论】:
-
PS:我正在使用 NLog 1.0.0.505,虽然在我的开发环境中刚刚切换到 2.0.0.0。
-
您使用的是 MS SQL Server 吗?