我有6个WordPress网站运行在单个EC2实例上。 所有的网站都连接到同一RDS实例中的数据库。
今天早些时候,最大的网站stream量达到峰值,RDS实例进入瓶颈 – 一小时内CPU利用率为100%。 它影响了我所有的网站,因为它们都是永久加载的。
为了防止这个问题再次发生,下面哪一个最重要,以便我首先投入时间和精力?
(以后我会努力,现在只需要优先考虑)
我的网站会对用户体验产生什么影响? 一些快速search显示,我应该限制并发连接数到我的networking服务器,但不会阻止用户访问我的网站?
更多背景:
我已经做了什么:
我是在浪费资源,还是根本没有足够的资源用于我的网站 – 或者说,我怎样才能自己回答这个问题呢?
在单个EC2实例上运行所有内容都会影响到基于云的部署的整个过程:自动调整和自我修复的能力。 正如我以前写的,自动缩放是AWS的核心和灵魂,如果你不使用它,你最好使用传统的协同服务器或VPS。 这将更便宜,更持久。
我刚刚完成了与您的需求非常相似的AWS部署。 客户端运行三个相当高容量的WordPress站点(比你的stream量多得多)。 configuration看起来像这样:
这种devise没有任何单一的故障点*,如果一个实例死亡,将自动自愈,并且足够聪明,可根据资源需求进行放大或缩小。 总费用:约$ 200 /月。 如果您select购买1年保留实例。
我正在把这个configuration放到一个CloudFormation模板和cloud-init / Python脚本的组合中,这些脚本在启动时自动从Github提取。 基本上它会允许任何人按下一个button,等待大约一个小时,然后回来,整个环境将等待。 我希望在今年年底前完成。 如果您有兴趣获得该模板的副本,请在我的个人资料中列出的网站上发送电子邮件给“jamie”。
* NAT实例是一个SPoF,但这主要是VPC的devise限制。 这是一个非关键的组件,可能会失败,不会影响应用程序。