log4net.Appender.AppenderSkeleton.doappended运行速度似乎非常慢

log4net.Appender.AppenderSkeleton.doappended运行速度似乎非常慢,log4net,Log4net,我有一个web服务,其中log4net.Appender.AppenderSkeleton.DoAppend方法在使用ADO Net Appender时,在随机时间内始终是缓慢的。我找不到任何证据表明我的数据库服务器当时已关闭,但此方法突然开始占用2分钟的时间,然后突然恢复为即时 在谷歌搜索了很多次之后,这似乎不是一个常见的问题,所以我转向StackOverflow,看看是否有其他人遇到过这样的缓慢情况,看看是否有人对如何解决这个问题有任何建议?ADO.NET appender可以做缓冲。检查配

我有一个web服务,其中log4net.Appender.AppenderSkeleton.DoAppend方法在使用ADO Net Appender时,在随机时间内始终是缓慢的。我找不到任何证据表明我的数据库服务器当时已关闭,但此方法突然开始占用2分钟的时间,然后突然恢复为即时


在谷歌搜索了很多次之后,这似乎不是一个常见的问题,所以我转向StackOverflow,看看是否有其他人遇到过这样的缓慢情况,看看是否有人对如何解决这个问题有任何建议?

ADO.NET appender可以做缓冲。检查配置中的缓冲区大小。当它变慢时,它可能正在清空缓冲区。请尝试较小的缓冲区大小。

您的日志文件夹中是否有文件写入/修改权限?如果您当时没有权限,请使用log4net堆栈并挂起Do append METHOL

记录事件的速度有多快?您记录事件的速度是否可能快于数据库处理事件的速度?您如何知道DoAppend方法速度慢?大约每分钟记录96000个事件。问题似乎每隔几天发生一次,然后在没有应用程序池回收或iis重置等的情况下自行清除。我可以在app Dynamics中看到DoAppend方法速度变慢,但SendBuffer方法在问题期间是瞬时的,600多个SP调用总共花费不到2秒,所以我看不到数据库紧张的迹象。缓冲区大小当前为100,但设置为10时出现相同问题。感谢Peter的建议。您是否建议尝试缓冲区大小为1?我已经将缓冲区大小从10增加到100,并且在这两个值之间有许多值,最终在所有设置上都出现了相同的问题,在缓冲区大小较高或较低时出现问题的时间长度之间没有明显的模式。