自从我升级到 OSX Lion 以来,这一直是我的问题:每当我更改 Django 项目中的文件时,运行服务器重新加载,需要相当长的时间才能再次开始服务。
即使在新创建的 Django 1.4 项目中也会发生这种情况。不过在 Snow Leopard 上没有这个问题。
我使用了 cProfile,这是它花费大部分时间的地方:
Ordered by: cumulative time
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.001 0.001 48.068 48.068 manage.py:2(<module>)
1 0.000 0.000 48.033 48.033 __init__.py:431(execute_manager)
1 0.000 0.000 48.032 48.032 __init__.py:340(execute)
1 0.000 0.000 47.908 47.908 base.py:182(run_from_argv)
1 0.000 0.000 47.907 47.907 base.py:193(execute)
1 0.000 0.000 47.814 47.814 runserver.py:39(handle)
1 0.000 0.000 47.814 47.814 runserver.py:69(run)
1 0.001 0.001 47.814 47.814 autoreload.py:129(main)
1 0.000 0.000 47.813 47.813 autoreload.py:107(python_reloader)
1 0.000 0.000 47.813 47.813 autoreload.py:96(restart_with_reloader)
1 0.000 0.000 47.813 47.813 os.py:565(spawnve)
1 0.000 0.000 47.813 47.813 os.py:529(_spawnvef)
1 47.812 47.812 47.812 47.812 {posix.waitpid}
...
但我不明白为什么?
(对于仍在谷歌搜索答案的人)
我在使用 Vagrant(在 Windows 主机上)时遇到了类似的问题。对我来说解决方案是移动virtualenv
文件夹远离同步/vagrant
。同步文件夹的默认设置使用 VirtualBox 提供程序,这就是问题所在。我们可以在另一个同步方法中了解这一点Vagrant 官方文档 http://docs.vagrantup.com/v2/synced-folders/index.html:
在某些情况下,默认共享文件夹实现(例如 VirtualBox 共享文件夹)会产生较高的性能损失。如果您发现同步文件夹的性能不太理想,NFS 可以提供解决方案。
and
SMB 内置于 Windows 计算机中,为某些其他机制(例如 VirtualBox 共享文件夹)提供了更高性能的替代方案。
See Vagrant 共享文件夹基准测试 http://friendsofvagrant.github.io/v1/docs/nfs.html获取额外信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)