AWS EC2 免费套餐 Django 应用
我在免费的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卷来提高性能,但这需要多一点工作。
总结
微型实例的能力就是微型的能力。
很可能,瓶颈来自于你使用的数据库,因为在微型实例提供的磁盘访问上,它的表现非常差。