【发布时间】:2012-09-01 23:26:27
【问题描述】:
我们当前的项目架构如下。 有 2 个亚马逊实例。两者都安装了 Ubuntu 10.10。
实例 1:(m1.large) -- 这个实例安装了 PHP、Apache 和 MySql。 它包含主网站+API(用Php开发)+数据库(MySql)
实例 2:(t1.micro) -- 这个实例安装了 PHP、Apache 和 MySql。 它包含一个 Javascript。
客户端-服务器交互: 在客户端,有一段 JS 代码在客户端加载 Instance 2 的 JS 文件。此 JS 文件创建请求并将其发送到 Instance 1 上的 API。 实例 1 上的 API 生成响应并将其发送给客户端。
在实例 1 上,有每周运行的 cron 进程,即每周日运行大约 5-6 小时。
实例 1 上的最大 CPU 利用率约为 80%,而在周日,当 cron 设置为运行时,它会超过 95%。主实例每天的平均请求数约为 225k。
**There is no issue on instance 2 of CPU utilization.Size of database is 7.5 GB**
需要新架构: 正如我们所看到的,在当前架构中,CPU 利用率很高。如果我们想服务更多的请求,这种架构效率不高。随着我们客户端数量的增加,服务器上的请求数量和数据库大小也会增加。
您能建议新的架构设计吗? 我们还计划将我们的数据库从 MySql 更改为 MongoDB。另外,将数据库与实例 1 分开。这是一个正确的决定吗?
任何人都可以建议我们可以为新架构(如 Memcached、nginx 等)实施的任何新技术。
谢谢。
【问题讨论】:
标签: architecture nginx amazon-ec2 amazon-web-services memcached