eri*_*icn 3 mysql wordpress amazon-rds
我正在使用Amazon RDS实例为我的所有6个WordPress网站托管MySQL数据库.在最大网站流量达到峰值的那一刻,RDS实例的CPU利用率达到100%超过一小时.
我正在考虑通过read活动拆分数据库服务器的负载.我网站的大部分流量都来自未登录的用户.所以,我想将这些未登录的用户连接到一个只读副本RDS实例,为什么其余的,到源RDS实例,我正在使用的当前数据库连接.
我如何实现这一目标?
扩展Wordpress
随着网站流量的增加,您在服务器上也会遇到更多负载.为了跟上你的速度,你有两种可能:scale up- 增加你的盒子的大小 - 这 - 特别是在AWS - 显然除了其他缺点之外还有限制,例如在两个方向上进行缩放的停机时间.
scale out:拆分流量,让几台机器完成工作.只需在流量增加超过阈值时添加计算机,并在流量较低时移除电源.
通常设置中的扩展可以在Web服务器或数据库服务器上完成.AWS可以帮助您.由于数据库是常见的瓶颈而且这个问题实际上希望解决这个问题,我现在将讨论数据库扩展.
Amazon RDS(托管MySQL SaaS)提供一键式解决方案来创建数据库的只读副本.在数据库世界中,只读副本称为复制从属.在主服务器上执行的每个修改查询都将在您的从属计算机上自动重播.
您可以根据需要创建任意数量的只读副本来为用户提供服务.现在是复杂的部分.我们正在谈论READ复制品.这意味着,您无法在所有实例上随机平衡查询.只有主服务器才能编写查询.
可以通过像MySQL代理这样需要额外机器的数据库代理来实现拆分查询类型和均匀分配负载.您的应用程序将与此代理进行通信,并且不需要自行进行任何更改.
虽然Wordpress不是为主从设置而设计的,但本身并不支持,我们都知道有很多博客都有大量的流量.
幸运的是,有一个名为HyperDB的解决方案
http://wordpress.org/extend/plugins/hyperdb/
这是一个Wordpress插件,它可以
- 读写服务器(复制)
- 可配置的读写优先级
- 本地和远程数据中心
- 私人和公共网络
- 不同数据库/主机上的不同表
- 智能后写主读
- 被击倒的主机的故障转移
- 用于分析的高级统计信息
这个插件将取代Wordpress中的默认数据库抽象层.它由Wordpress团队开发并积极使用.
只需下载并确保仔细遵循安装说明.
玩得开心!