【问题标题】:Concurrency issues with django on appengineappengine 上 django 的并发问题
【发布时间】:2013-12-26 18:31:20
【问题描述】:

在 Appengine 上运行一个 Django 应用程序,我们需要进行一个返回大约的查询。每个请求 450 行,包括连接 M2M prefetch_related 和 select_related。

当我们发出许多并发请求时,每个请求的查询时间都会以所有请求同时结束的方式增加。

在非 appengine Django 安装或在 threading 设置为 false 的 appengine 实例中运行相同的并发请求不会显示此行为。

当请求被分开到不同的应用引擎实例时,也有轻微的改进。

有人见过吗?

【问题讨论】:

  • 这是使用 Cloud SQL 吗?您是在 dev_appserver 还是生产环境中看到的?
  • 这是在 appengine(生产)上使用 Cloud SQL。不在 dev_appserver 上。

标签: django google-app-engine concurrency


【解决方案1】:

听起来您的数据库后端的查询负载过重。您是否尝试过升级到更高级别?

基本层仅处理 25 个并发查询。您在问题中说“很多”,所以如果“很多”> 25 这就是您的问题的根源:

https://developers.google.com/cloud-sql/pricing

【讨论】:

  • 我们尝试升级到更大的层级,但没有帮助。我们还通过 sql 查询工具运行了原始查询,同时多次执行相同的查询,但没有成功。
  • 您是否已运行测试以显示此问题何时开始出现?即你需要多少并发查询才能开始显示问题?
猜你喜欢
  • 1970-01-01
  • 2011-05-02
  • 2011-04-04
  • 2010-10-08
  • 2011-07-01
  • 2014-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多