AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 396364
Accepted
shashankaholic
shashankaholic
Asked: 2012-06-08 01:04:38 +0800 CST2012-06-08 01:04:38 +0800 CST 2012-06-08 01:04:38 +0800 CST

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

  • 772

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

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

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

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

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

    上下文中的一些因素:

  • 高度依赖MYSQL

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

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

mysql amazon-ec2 openfire tomcat6 multiple-instances
  • 3 3 个回答
  • 2950 Views

3 个回答

  • Voted
  1. Best Answer
    heiko
    2012-06-08T02:24:35+08:002012-06-08T02:24:35+08:00

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

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

    • 4
  2. Andrei Mikhaltsov
    2012-06-09T00:49:06+08:002012-06-09T00:49:06+08:00

    由于不可预测的 CPU 限制,不要将微型实例用于生产。在单个实例中运行所有内容更具成本效益,但如果您计划增长和扩展,最好在多个实例中设计和开发您的应用程序。

    • 2
  3. Lena Weber
    2012-08-30T07:06:55+08:002012-08-30T07:06:55+08:00

    从长远来看,最好将应用程序服务器与数据库分开,以允许每一层具有最大的灵活性和可扩展性。RDS 目前是一个不错的选择,但请记住它仅限于单个实例,如果您的流量意外激增超出了最大实例的容量,您可能会遇到停机时间,然后您需要设置与其他实例聚类,这很复杂。EC2 上的另一个选择是Xeround 的云数据库服务,它与 RDS 的不同之处在于它可以自动扩展到更多实例以适应额外的吞吐量并自动处理集群。至于应用服务器,您可以使用 Amazon 的CloudWatch功能对其进行自动扩展。

    • 0

相关问题

  • 开源与专有关系 db mgt 系统的优缺点是什么?

  • 在 solaris 10 上为 mysql 设置 max_allowed_pa​​cket

  • 如何移动 MySQL 的数据目录?

  • 通过 VPN 连接什么是远程服务器 IP?

  • mysql崩溃

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve