Django站点对大型Postgres查询抛出502个错误

2024-10-02 08:15:18 发布

您现在位置:Python中文网/ 问答频道 /正文

当我使用django的queryset进行postgres查询时,只要查询返回的结果不超过几十个,它就会很好地加载数据。但是,在较大的查询中,django会抛出502个bad gateway错误。你知道为什么会这样吗?我怎么解决它?我尝试了文档中列出的许多数据库优化的东西,甚至基于特定的过滤参数对数据库进行了集群,但都没有用。其他人也有类似的问题吗?你做了什么?在

错误日志:

2015/08/01 20:00:13 [error] 20509#0: *725 upstream prematurely closed connection
while reading response header from upstream, client: 108.54.224.162,
server: 45.55.165.48, request: "POST /candidates/query/ HTTP/1.1",
upstream: "unix:/webapps/cruit/cruit/run/gunicorn.sock:/candidates/query/…;,
host: "45.55.165.48", referrer: "45.55.165.48/"

Tags: 数据django文档数据库参数错误集群postgres
1条回答
网友
1楼 · 发布于 2024-10-02 08:15:18

Django在加载查询结果时可能会耗尽内存,在使用ORM对象时会出现这种情况。您应该在查询执行期间以及502之后立即检查内存使用情况—如果内存不足,您将看到峰值和急剧下降。在

如果是这种情况,您可以尝试加载较少的对象、实现分页或仅使用my_queryset.values('value1', 'value2', ...)加载对象值,而不是为每个结果行创建ORM对象。在

相关问题 更多 >

    热门问题