django 部署的网站页面跳转很慢!

谢谢各位,已经解决,原来是邮件服务阻塞了主线程,放到多线程就好了。

django 在搬瓦工 vps 上部署了一个简单的博客,但是评论后页面跳转很慢,慢到 nginx 返回 502,但是在本地服务器上是没有问题。

所以现在的情况是,本地测试没有问题。线上发表评论后页面重定向很慢,慢到超出 nginx 的等待时间(但偶尔也或有成功的跳转),但评论已经保存在了数据库,手动刷新页面可以看到。

现在的问题是我甚至不知道问题出在哪,不知道如何 debug。

先贴一些我认为相关的代码,请大家帮我分析一下是哪里的原因,或者指点我一条 debug 的思路。

nginx 配置文件:

server {
    charset utf-8;
    listen 80;
    server_name zmrenwu.com www.zmrenwu.com;

    location /static  {
        alias /home/yangxg/sites/zmrenwu.com/django-blog-zm/static;
    }

    location /media {
        alias /home/yangxg/sites/zmrenwu.com/django-blog-zm/media;
    }

    location / {
        proxy_set_header Host $host;
        proxy_pass http://unix:/tmp/zmrenwu.com.socket;
    }
}

django 后台评论成功后的跳转视图:

class CommentSuccess(RedirectView):
    def get_redirect_url(self, *args, **kwargs):
        self.url = self.comment.get_absolute_url()
        return super(CommentSuccess, self).get_redirect_url(*args, **kwargs)

    def get(self, request, *args, **kwargs):
        self.comment = None
        if 'c' in request.GET:
            try:
                self.comment = comments.get_model().objects.get(
                    pk=request.GET['c'])
            except (ObjectDoesNotExist, ValueError):
                pass
        if self.comment and self.comment.is_public:
            return super(CommentSuccess, self).get(request, *args, **kwargs)

跳转视图没做什么事,只不过单纯地来了请求就重定向而已。

哈士奇WWW
浏览 802回答 2
2回答

慕的地8271018

测试没毛病,速度还算可以。不知道是否和你网络原因有关。如果发现还是不行的话,建议贴一下nginx请求日志。

慕田峪9158850

挺好的啊,没毛病
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python