Django 极慢问题

2 投票
4 回答
3569 浏览
提问于 2025-04-15 13:27

我在使用Django的时候遇到了速度慢的问题,但我找不到原因……我也不太确定自己哪里做错了,不过在做项目的时候,Django有两次变得特别慢。

请求的响应时间特别长,差不多要15秒才能完成。而在启动开发服务器时,验证模型的速度也很慢,四核的电脑上要12秒以上。

我在网上找了很多类似问题的解决方案,但都跟我遇到的情况不太相关。

这个问题似乎不是出在Django的开发服务器上,因为在用Apache和mod_python的生产服务器上,请求也很慢。

我想这可能是DNS的问题,但用Apache2服务的时候,网站加载得很快。

我试着用strace工具来跟踪开发服务器,但没有发现什么有用的信息。

即使把所有的应用程序(除了Django自带的应用)注释掉,情况也没有改变……模型的验证还是很慢。

我真的不知道该往哪里找原因了……

有没有人有主意?

4 个回答

0

我曾经用远程编辑来开发我的Django网站。验证的过程似乎也很慢。不过,其他方面都还不错,跟你说的情况不太一样。

问题出在网络服务器无法在那个目录里添加或更改.pyc文件。

0

然后我想这可能是DNS的问题,但当用Apache2提供服务时,网站加载得很快。

你是怎么让你的Django网站运行的?我猜你是在Apache2上运行mod_python吧?

你可以先在自己电脑上本地运行Apache2(可以用MAMP或WAMP,并在那安装mod_python),看看是不是还是慢。这样你就能判断是Django/Python的问题,还是Apache/mod_python的问题。

6

我在serverfault上发过这个问题,也许对你有帮助。

如果你在提供大文件,比如图片、客户端脚本等,这会导致响应变慢。

无论你用什么模式,如果你的mod_python或者开发服务器处理这些大文件,都会出现这个问题。

你需要配置生产服务器,让它直接处理这些文件,也就是绕过其他模块。

顺便说一下,现在推荐用mod_wsgi来在生产环境中运行django。

如果你遇到系统服务或硬件方面的问题,可以通过日志信息找到一些线索。

撰写回答