我在Heroku上部署了Django应用,并在Amazon RDS上使用PostgreSQL数据库。 React前端部署在Heroku上。
在生产中,API非常慢,我不明白为什么。这是一个小型的简单数据库。
我如何找出瓶颈所在?
例如,我正在加载40个项目的页面,这需要30秒。即使删除了实际查询,到达端点并收到响应也可能需要6秒钟以上的时间,这似乎很极端。此加载时间在我的应用中是不可接受的,而且我不知道在哪里进行优化。
是RDS还是Heroku?我升级到$ 25 /月Dyno,看看是否有所作为,但没有。尚无人在使用我的应用程序,因此使用量不应成为一个因素。
我不确定这是否有意义,但是我在视图中添加了一些print()函数来查看哪个部分花费了最长的时间,而且看来所有查询都很快完成了,然后花费了20多秒钟最后将这些信息实际返回到我的React应用。
任何有关从哪里开始的建议都将受到赞赏。
注意:我确实安装了Django Debug Toolbar,但是我还没有弄清楚如何使其适合我的实际API请求。它适用于我的管理面板页面(也非常慢)。
答案 0 :(得分:0)
问题最终导致我安装了一些名为Silk的Django中间件。不知道为什么会如此缓慢地放慢速度,但是一旦删除,我的应用程序的速度可能会提高5倍!