1

我有一个使用 PostgreSQL 数据库插件在 Heroku 上托管的 Django 应用程序。在对首页执行 GET 请求后,我的应用程序执行 SQL 查询以提取一些必要的显示信息。我还在每个 GET 请求上使用 Popen 创建一个子进程。

但是,当我注意到 GET 请求的数量增加到大约每秒一次时,我在语句中出错了model.objects.get(id="----")。我得到一个 OperationalError ;我假设我在 heroku 上的免费计划跟不上,或者我的数据库跟不上。

在这种情况下,我不想离开 Heroku 的免费计划,但我想知道如果我这样做了,我需要创建更多的工人吗?升级我的数据库?有哪些方法可以诊断问题?为什么一个简单的 SQL 查询会随着请求数量增加到大约每秒一次的间隔而导致问题?这看起来合理吗?

我的 hack 解决方案就是在我捕获到 OperationalError 时让视图休眠。还有其他推荐的方法吗?

4

0 回答 0