Amazon EC2-许多微实例与单个中小型实例

sha*_*lic 5 mysql openfire amazon-ec2 tomcat6 multiple-instances

我有一个使用 Openfire、Tomcat6 和 MySQL 堆栈的聊天应用程序。

目前,我已经在单个 Linux 微实例(613 MB 内存)上安装了所有这些服务器。即使在 10-20 的低用户群中,我也会遇到 CPU 过载,这在这里很明显。

因为,我是 Amazon EC2 的新手,有人可以建议我如何根据流量使用扩展我的架构吗?

  • 我应该为每个应用服务器使用单独的微实例吗(openfire、mysql、tomcat6)

  • 我应该为整个服务器堆栈使用单个小型或中型实例。

    上下文中的一些因素:

  • 高度依赖MYSQL

  • 由于文件传输导致内存使用率高

  • 与其他 Amazon 服务(如 S3、SES)交互的 Web 应用程序

hei*_*iko 4

我会至少使用 m1.small 或更好的 m1.large 实例。微实例实际上仅用于开发,因为即使是零用户,613MB 也可能很快就不够用了。除此之外,您很可能会看到大量的 CPU 窃取时间,并且您的服务器在出现小 CPU 峰值后一段时间不会做出反应。这很烦人。

我会尝试让整个堆栈在除 mysql-db 之外的每个实例上运行。看看RDS!您不需要自己设置高可用性的mysql主从基础设施!

  • 只需停止实例,更改类型(在 Web gui 中右键单击实例),然后启动它即可。什么都不会丢失。 (2认同)