Ubuntu的32位或64位的亚马逊EC2的Django应用程序?

对于将在Nginx,gunicorn,postgresql和memcached上运行的Django电子商务Web应用程序,在为Amazon EC2select正确的Ubuntu服务器版本(32位或64位)时,我应该select什么?

这是我的select:

在这里输入图像说明

自引入64位无处不在以来,几乎没有任何理由使用32位系统,请参阅相应的后期EC2更新:新的中型实例,64位无处不在,SSH客户端 :

您现在可以在Small和Medium实例types上启动64位操作系统。 这意味着您现在可以创build一个Amazon Machine Image(AMI),并在极其广泛的实例types上运行它,从Micro到High-CPU Extra Large以及High-Memory Quadruple Extra Large […]

这将使您可以更轻松地垂直扩展(扩大或缩小实例),而无需维护并行(32位和64位)AMI。

尽pipe云一般, 亚马逊EC2主要是横向扩展,但这仍然是一个相当显着的改进,因为它允许垂直缩放专用节点以及简单的停止/缩放/启动周期,通常在不到一分钟手动(这当然也可以完全自动化)。

因此,我build议只使用64位实例来获得垂直缩放的灵活性; 请参阅Eric Hammond 在所有EC2实例types上使用相同体系结构(64位)的文章,以获得另一个同样热情的观点。

虽然典型的答案是使用64位AMI,但应该注意的是,32位操作系统使用较less的内存,因为每个寄存器只有一半宽。 如果内存使用情况是您所关心的,并且您正在使用的内存less于4GB(微,小,中)的实例,那么32位操作系统可能会提供一个优势。

通常情况下,64位应用程序可能会有小的性能提升,但实现却非常具体。 计算密集型和大量工作的应用程序可能会看到64位体系结构(例如,encryption,audio/video编码等)的性能显着提高。

对于超过4GB内存的任何实例,必须使用64位AMI。 如果您想保留稍后更改实例types的灵活性,则build议使用64位AMI,因为它适用于所有实例。

32位系统支持高达4GB的内存。 你有这个限制吗?