分析Django:{posix.write}函数在做什么?

时间:2017-09-20 19:36:41

标签: python django profiling cprofile

分析Django应用以找出缓慢的功能。

我刚刚添加了一些中间件来跟踪函数调用,关注此博客:http://agiliq.com/blog/2015/07/profiling-django-middlewares/我发现{posix.write}的cProfile统计数据输入是最长的之一。

知道那是什么,以及它来自哪里?

其他功能由其名称和包路径引用,因此我不确定{posix.write}的含义。

日志如下所示:

204051 function calls (197141 primitive calls) in 0.997 seconds

   Ordered by: internal time
   List reduced from 1204 to 50 due to restriction <50>

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
       35    0.305    0.009    0.305    0.009 {posix.write}
       95    0.206    0.002    0.207    0.002 {method 'execute' of 'psycopg2.extensions.cursor' objects}
       73    0.088    0.001    0.088    0.001 {select.select}
      898    0.023    0.000    0.047    0.000 /.venv/lib/python2.7/site-packages/django/db/models/base.py:388(__init__)
     1642    0.012    0.000    0.371    0.000 /.venv/lib/python2.7/site-packages/django/template/base.py:806(_resolve_lookup)
        1    0.010    0.010    0.011    0.011 {_sass.compile_filename}
        1    0.009    0.009    0.009    0.009 {psycopg2._psycopg._connect}
       34    0.009    0.000    0.009    0.000 {method 'recv' of '_socket.socket' objects}
       39    0.007    0.000    0.007    0.000 {posix.read}
9641/6353    0.006    0.000    0.321    0.000 {getattr}
      173    0.006    0.000    0.026    0.000 /.venv/lib/python2.7/site-packages/django/core/urlresolvers.py:425(_reverse_with_prefix)
    25769    0.006    0.000    0.007    0.000 {isinstance}

修改

据我所知,posix.write是posix的写函数。我需要理解的是,我猜是Django的一部分使用了很多,为什么它显示为300 + ms。

我该如何跟踪此事?

由于

0 个答案:

没有答案