我想知道是否有人观察到日志文件中的大量日志写入(如果处理4小时,则为300 k行)可能会影响批处理性能。P1:批处理在日志文件中写入了大量信息,我怀疑如果我们在源代码中删除或注解所有这些日志写入,批处理性能可能会提高,并在执行时间上获得15分钟或更多。在一次完整的批处理执行(8-12小时)中,我们可能会有一百万行或更多行。P2:或者数据库检查和日志写入可以并行完成?但是我认为我们的源代码不这样做。
jrcvhitl1#
是的,太多的日志确实会影响性能。但是要知道它对性能的影响有多大,唯一的方法就是测量它。P1:批处理在日志文件中写入了大量信息,我怀疑如果我们在源代码中删除或注解所有这些日志写入,批处理性能可能会提高,并在执行时间上获得15分钟或更多。没人能告诉你你能获得多少时间。(如果你能获得这么多时间,我会很惊讶,但我可能是错的。测量一下!!)P2:或者数据库检查和日志写入可以并行完成?但是我认为我们的源代码不这样做。在应用程序中显式地编写并行日志记录可能不是一个好主意,因为这会使代码复杂得多。有一个更好的方法可以获得一些并行性:请尝试使用异步追加器。您可以做很多事情来优化日志记录性能,而不必走极端,包括:
Logger
有关日志记录性能的一些背景信息,请查看log4j 2 Performance页面。
1条答案
按热度按时间jrcvhitl1#
是的,太多的日志确实会影响性能。但是要知道它对性能的影响有多大,唯一的方法就是测量它。
P1:批处理在日志文件中写入了大量信息,我怀疑如果我们在源代码中删除或注解所有这些日志写入,批处理性能可能会提高,并在执行时间上获得15分钟或更多。
没人能告诉你你能获得多少时间。(如果你能获得这么多时间,我会很惊讶,但我可能是错的。测量一下!!)
P2:或者数据库检查和日志写入可以并行完成?但是我认为我们的源代码不这样做。
在应用程序中显式地编写并行日志记录可能不是一个好主意,因为这会使代码复杂得多。有一个更好的方法可以获得一些并行性:请尝试使用异步追加器。
您可以做很多事情来优化日志记录性能,而不必走极端,包括:
Logger
方法。)有关日志记录性能的一些背景信息,请查看log4j 2 Performance页面。