Python 日志记录过多会影响web应用程序的性能吗?

Python 日志记录过多会影响web应用程序的性能吗?,python,django,performance,logging,web,Python,Django,Performance,Logging,Web,对于用python/Django编写的web应用程序,记录卷是否会影响web性能 对于Go,我可以启动一个goroutine以异步方式写入日志,但实际上,python日志记录是同步的,日志写入是请求处理的一部分。但与访问数据库或渲染模板等其他活动相比,它通常需要多少时间?我应该担心吗 我没有使用任何特定的日志处理程序,只是写入普通日志文件 我知道我可以调整日志记录级别以减少生成的日志数量,但如果不会严重影响性能,我仍然希望保留尽可能多的日志。您应该记录所有可用于未来分析的数据。但是,如果同步记录

对于用python/Django编写的web应用程序,记录卷是否会影响web性能

对于Go,我可以启动一个goroutine以异步方式写入日志,但实际上,python日志记录是同步的,日志写入是请求处理的一部分。但与访问数据库或渲染模板等其他活动相比,它通常需要多少时间?我应该担心吗

我没有使用任何特定的日志处理程序,只是写入普通日志文件


我知道我可以调整日志记录级别以减少生成的日志数量,但如果不会严重影响性能,我仍然希望保留尽可能多的日志。

您应该记录所有可用于未来分析的数据。但是,如果同步记录了太多数据,则应该考虑日志记录开销。异步日志记录可以有很多选项

  • 我们正在为此使用服务器pubsub模型(例如)
  • 另一个选择是使用

如果您担心I/O延迟(一个有效的问题),您可以使用
QueueHandler
/
QueueListener
从web应用程序登录到队列,如文档中所述。
QueueListener
可以在单独的线程上运行,并防止请求处理程序线程在记录I/O时陷入困境。如果您使用的是Python 2.x,那么在PyPI上的包中就可以使用
QueueHandler
/
QueueListener

这在很大程度上取决于所采用的策略、日志数量,磁盘性能和应用程序中的流量。您有各种可用的日志处理程序,它们的性能不同。您可以写入
本地文件
,使用
logstash
甚至
redis
登录。还可以编写自定义处理程序。但是这个问题太广泛了,没有给出任何细节,所以我想如果它保持目前的形式,它很快就会被关闭。这正是我想要的。