最近,我注意到我的Django项目启动速度比一个月前慢了很多,通常慢了5〜6秒,我不记得更新任何软件包了,并且还在Ubuntu服务器上验证了它不会遇到同样的问题,所以我唯一的猜测是由于我的MacOS升级。
所以我运行了python profiler:
python -m cProfile -o /tmp/result manage.py
然后使用snakeviz
检查结果:
snakeviz /tmp/result
这表明通过将__init__.py:5
悬停在ldap软件包中,速度很慢:
然后我进入__init__.py
,发现以下行花费了大部分时间:
LIBLDAP_API_INFO = _ldap.get_option(_ldap.OPT_API_INFO)
进一步研究get_option
会进入_ldap.cpython-36m-darwin.so
的源代码
def get_option(*args, **kwargs): # real signature unknown
pass
只是想知道是否有人遇到类似问题以及如何解决?