缓慢的 Django 页面 - 似乎不是由 SQL 引起的

Slow Django Page - Doesn't Appear to be caused by SQL

我正在尝试调试一个缓慢的 Django 列表视图页面。该页面当前显示所有测试 (133),以及每个测试的最新结果。大约有 60,000 个结果,每个结果都与单个测试具有 FK 关系。

我优化了 SQL(我认为),方法是为每个测试选择最新结果,并将其作为与我的测试查询相关的预取传递。 Django 调试工具栏显示 SQL 耗时约 350 毫秒,但页面加载为约 3.5 秒。

如果我将列表视图限制为单个测试,SQL 约为 7.5 毫秒,页面加载约为 100 毫秒。

我没有从 S3 等获取任何东西,也没有渲染任何图像等。

所以我的问题是,什么可能导致速度缓慢?它似乎是 SQL,因为随着结果集的增长,页面加载也会增加,但可能是每个项目或类似内容的渲染?任何关于接下来要研究什么的指导都将不胜感激。

您可以强制执行您的 Django 查询集: test_list = list(your_queryset) 和 return 在您看来简单的文本 HttpResponse("return this string"), 然后您可以在不渲染的情况下检查时间。还有 Django 调试工具栏和减慢你的应用程序,也许这里是你的情况:https://github.com/jazzband/django-debug-toolbar/issues/910