AWS EC2 免费套餐 Django 应用

2 投票
2 回答
1774 浏览
提问于 2025-04-18 06:12

我在免费的EC2云服务器上测试一个简单的Django应用,当大约10个人同时在线时,服务器的CPU负载就飙到100%,然后需要几个小时才能恢复过来。

难道免费的服务器真的这么差吗?还是说使用mod_wsgi、nginx和django一起有什么问题?我参考了这个指南来让它在服务器上运行:https://gist.github.com/evildmp/3094281

2 个回答

2

亚马逊的免费套餐包括750小时的t1.micro实例。这些实例主要是用来学习和测试的,不适合用在正式的生产环境中。你可以使用Linux、RHEL、SLES或Windows的微型实例,最多750小时。

t1.micro实例的配置是1个虚拟CPU和0.613GB的内存,只有EBS存储。这意味着它的性能可能达不到你的期望,尤其是当有多个用户同时使用的时候。

不过,这种微型实例有短时间提升CPU能力的功能,适合用在流量较小的网站或博客、小型管理应用,以及免费试用来探索EC2的功能。

3

我想,你可能在使用“微型”实例(我觉得,免费套餐下没有其他类型的实例可用)。

(微型) 功率

使用“微型”时,要注意以下规则:

  • 它允许你在短时间内(大约一两分钟)使用最多四倍于平均负载的资源。
  • 但如果你这样做的时间稍微长一点,就会受到“惩罚”,你的实例会暂时变得更弱(可能持续30分钟或更久)。

小型EC2实例的磁盘性能

因为磁盘是连接到EC2实例上的,所以它的性能受到网络连接的限制。这个连接的速度和你实例的大小有关,所以“微型”实例的速度就比“小型”实例要慢。

有一些实例类型是使用SSD的,但“微型”实例显然不在其中。

我使用的是“小型”实例,必须说,磁盘性能很差。你可以通过连接多个EBS卷来提高性能,但这需要多一点工作。

总结

微型实例的能力就是微型的能力。

很可能,瓶颈来自于你使用的数据库,因为在微型实例提供的磁盘访问上,它的表现非常差。

撰写回答