tornado--打印block日志
来源:互联网 发布:java程序调试的步骤 编辑:程序博客网 时间:2024/06/07 02:48
Tornado在使用过程,碰到过性能瓶颈。 当碰到Tornado中有比较耗时的任务的时候,请求一多就会阻塞整个服务。这个时候就需要查看到底是什么任务阻塞了服务,然后针对性的进行优化。
Tornado使用logging打印日志,我们可以指定当某个请求的处理时间超过设定时间的时候,打印这个请求的stack trace。
源码如下:
def set_blocking_log_threshold(self, seconds): """Logs a stack trace if the `IOLoop` is blocked for more than ``s`` seconds. Equivalent to ``set_blocking_signal_threshold(seconds, self.log_stack)`` """ self.set_blocking_signal_threshold(seconds, self.log_stack)
如何使用呢,只需要在启动服务的时候设置block的时间即可,如下所示:
if __name__ == '__main__': app = create_app() server = tornado.httpserver.HTTPServer(app) server.listen(options.port) io_loop = tornado.ioloop.IOLoop.instance() io_loop.set_blocking_log_threshold(0.5) io_loop.start()
如果某个请求的处理时间超过0.5秒,就会打印该请求的栈。
阅读全文
0 0
- tornado--打印block日志
- tornado--打印block日志
- tornado 日志管理
- 日志打印
- 日志打印
- 日志打印
- 日志打印
- 打印日志
- 日志打印
- 日志打印
- 日志打印
- 打印日志
- 日志打印
- 打印日志
- 日志打印
- 日志打印
- Tornado框架03-options和日志
- tornado
- 打印华氏温度与摄氏温度对照表
- CoreSeek
- Spring IOC(转载)
- java多线程学习笔记(二)
- HTTP详解
- tornado--打印block日志
- Sublime Text 3 快捷键汇总
- 【Java】Filter过滤器中,在chain.doFilter(request,response)后若有重定向或转发语句
- OpenBabel2.4.1转换mol2格式到pdbqt格式
- 二分法查找
- 个人项目代码存放
- 循环语句
- Redis源码剖析--对象Object
- ubuntu软件更新导致软件包损坏