Django应用程序执行缓慢(即使在缓存时)

Django应用程序执行缓慢(即使在缓存时),django,Django,启动我的第二个Django网站 我过去在Django的ORM中遇到过问题(基本上,它生成的SQL不是我想要的,甚至使用了select_related()之类的东西,我无法将其分解为它应该是什么)——我最终只是在视图中手工编写所有DB查询,并使用这个函数,从Django文档中获取,要将光标的响应转换为可用的词典,请执行以下操作: def dictfetchall(cursor, returnMultiDictAnyway=False): "Returns all rows from a c

启动我的第二个Django网站

我过去在Django的ORM中遇到过问题(基本上,它生成的SQL不是我想要的,甚至使用了
select_related()
之类的东西,我无法将其分解为它应该是什么)——我最终只是在视图中手工编写所有DB查询,并使用这个函数,从Django文档中获取,要将
光标的响应转换为可用的词典,请执行以下操作:

def dictfetchall(cursor, returnMultiDictAnyway=False):
    "Returns all rows from a cursor as a dict"
    desc = cursor.description
    rows = [
        dict(zip([col[0] for col in desc], row))
        for row in cursor.fetchall()
    ]

    if len(rows) == 1 and not returnMultiDictAnyway:
        return rows[0]
    return rows
我几乎准备好发布我的网站了,但我发现在我尝试托管应用程序的两个不同的Web服务器上存在相当大的性能问题

在本地,它的运行速度并不是非常快,但我一般认为这是因为我的机器总体上有点慢。我手头没有数据(稍后会添加),但SQL时间并不高,我已经努力优化MySQL(添加缺少的索引等)

这是在两个不同的网络主机上运行的应用程序(抱歉,使用bit.ly以避免谷歌对这些URL进行爬网):

  • (托管在Dreamhost上,使用WSGI)
  • (托管在Web派系上,也使用WSGI)
目前,我在这两台主机上都有
Debug=False
(因此不应该有加载惩罚),并且每台主机都有一个15分钟的基于文件的缓存。在Dreamhost one上,我有一个实验性的cronjob,每15分钟访问一次主页,看看这是否能让Python服务器保持活力——这似乎做得不多

如果您尝试这些链接,您应该会看到服务器在您单击周围时响应所需的时间,甚至包括缓存(尝试从主页转到另一个页面,然后返回主页)

我已经尝试过,但并不确定如何解释结果(我回家后可以将它们添加到本文中)——无论如何,它指向的函数/行都在Django自己的代码中,所以我很难将其与我自己的视图联系起来

上面的
dictfetchall()
方法可能是这里的问题吗?我使用它来处理站点上每个DB查询的结果(每页大约5-10条,大部分在主页上)。我有一些包含的模板,但没有什么太疯狂的。我有一个上下文处理器来处理常见的事情,比如显示专辑评论,我到处都在使用它。我很困惑还有什么会导致这种缓慢

谢谢,希望这些信息足够有用

编辑:好的,这里有一个网站主页的分析痕迹:--老实说,很难解释它

此外,我还查看了调试工具栏统计信息:246ms中有8个SQL查询(目前正在进一步优化这些查询),但渲染总时间为3235ms(本地)。这就是让我困惑的地方