为什么我的django开发服务器在本地运行比在Heroku上运行相同的开发服务器快得多?

时间:2013-02-04 11:29:51

标签: python django heroku

我有一个使用Django的网站,在输入时从postgresql数据库的单个表中加载大约100行。

本地开发服务器:页面加载 300毫秒
Heroku上的生产服务器:页面加载 1.34secs (约慢4.13倍) (集成gunicorn并在非空闲dyno上从aws S3加载我的静态文件)

第w?

请注意,我的生产服务器上还没有流量,我正在使用1 dyno。

当我在Heroku上使用与我的生产服务器的开发服务器完全相同的设置时,它甚至更慢。 装载时间是否正常?

我的电脑规格

Memory: 3.7 GiB  
Processor: Intel® Core™ i5 CPU M 520 @ 2.40GHz × 4   
OS type: 64-bit 

1 个答案:

答案 0 :(得分:0)

根据this source,如果我的计算机大约有3.9 Gb ram且一个dyno确实有512Mb ram,那就意味着我的计算机的内存大约是 7.8倍。根据{{​​3}} ram对于提高数据库查询的性能非常重要。由于我做了很多询问,时间差异对我来说很有意义。

在我的heroku应用程序目录中运行顶部令人惊讶地返回35 Gb ram。但是根据this source在Heroku中运行top是通过不同的dyno(一次性dyno)执行你的应用程序正在运行。

我现在唯一不理解的是为什么one-off dyno有这么多公羊。

只要没有人给出更好的答案,我就会检查这个答案。