栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

python日志记录性能比较和选项

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python日志记录性能比较和选项

stdlib

logging
软件包为开发人员/ devops
/支持人员提供了很多灵活性和功能,并且显然需要付出一定的代价。如果对性能的要求胜于对灵活性的要求,那么您需要采取其他措施。您是否按照文档中所述的步骤进行了优化?在合理的硬件上,典型的日志记录调用需要
数十微秒的 时间,这似乎很少。但是,仅由于产生的信息量可能需要花费大量时间才能解决,很少建议使用紧密循环。

查找调用者的代码可能非常昂贵,但是如果您想要进行记录调用的文件名和行号,则需要此代码。

QueueHandler
适用于日志记录I /
O将花费大量时间且无法在带内完成的情况。例如,需要通过电子邮件将日志发送给站点管理员的Web应用程序不能冒险
SMTPHandler
直接使用,因为电子邮件握手可能很慢。

不要忘记Python中的线程上下文切换很慢。你尝试了

SocketHandler
吗?在文档中有一个合适的起点,用于一个单独的接收器进程,该进程执行实际的I / O到文件,电子邮件等的操作。因此,您的进程仅执行套接字I /
O,而不只是为了日志记录而进行上下文切换。使用域套接字或UDP可能仍然更快,尽管后者当然是有损的。

还有其他优化方法。例如,为了

emit()
确保线程安全,日志记录中的标准处理程序会进行锁定,如果在您控制下的特定情况下,该处理程序没有争用,则可以有一个不操作获取和释放锁的处理程序子类。等等。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/668372.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号