我有一个基于python/tornado的webapp。有时(但不总是!)启动非常慢。以下是最慢的10个电话:
358926 function calls (350348 primitive calls) in 7.933 seconds
Ordered by: cumulative time
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 7.941 7.941 /Users/ysimonson/Desktop/dailymuse/themuse/venv/src/oz/oz/__init__.py:133(initialize)
54/12 0.238 0.004 7.940 0.662 {__import__}
1 0.164 0.164 1.853 1.853 /Users/ysimonson/Desktop/dailymuse/themuse/venv/src/oz/oz/plugins/sqlalchemy/__init__.py:1(<module>)
1 0.001 0.001 1.842 1.842 ./themuse/common/__init__.py:1(<module>)
1 0.002 0.002 1.811 1.811 ./themuse/common/actions/__init__.py:1(<module>)
1 0.112 0.112 1.696 1.696 /Users/ysimonson/Desktop/dailymuse/themuse/venv/src/oz/oz/plugins/aws_cdn/__init__.py:1(<module>)
1 0.001 0.001 1.294 1.294 ./themuse/common/actions/analytics.py:1(<module>)
1 0.005 0.005 0.956 0.956 /Users/ysimonson/Desktop/dailymuse/themuse/venv/lib/python2.7/site-packages/sqlalchemy/__init__.py:9(<module>)
1 0.000 0.000 0.951 0.951 ./themuse/api_v1/__init__.py:1(<module>)
1 0.084 0.084 0.951 0.951 ./themuse/api_v1/api_v1_routes.py:1(<module>)
这个过程花了8秒才开始。所有这些慢调用都是导入,但大多数都非常简单-例如,有3个实例是从__future__
导入的:
这是怎么回事?一些附加信息:
autoreload
重新加载。我想这是不相关的,因为它没有出现在profiler中,但可能与autoreload
使用{
尝试通过执行
importlib.invalidate_caches()
使模块查找缓存失效。您还可以考虑重新安装该模块,看看这是否会有所不同。在相关问题 更多 >
编程相关推荐