构建可扩展的弹性WP设置

时间:2018-03-21 作者:Ad3_M

这是我的第一篇帖子大家好,

我对IT和Linux并不陌生,但我对大规模运行WP还不熟悉,希望能得到一些建议或见解。

我有一位客户,他的业务开始迅速扩张,这让我们感到惊讶,我正在使用WP作为他们营销广告的登录页,并收集客户数据,我们有高负载的高峰时间。我还需要在高峰时间停机或数据丢失=$$$时为系统构建冗余和弹性。

目前,我有一个生产服务器和一个冷备份,但它们正在增长。我目前正在运行一个“传统”的linux虚拟机、Apache、mariadb和一个邮件程序的后缀。

我已经看过了;

Linux虚拟机:2x HA proxy>3x Apache/Wordpress/Mod\\u Security>2x Master/Slave mysql,使用HyperDB插件

Linux虚拟机:2x HA proxy>3x Apache/Wordpress/Mod\\u Security>2x Multimaster mysql,使用HyperDB插件

Digital Ocean Drops:2x HA Proxy>2x Apache/Wordpress/Mod\\u Security>Mysql&;GlusterFS副本

与上述类似,但使用OpenShift、Aws。

Digital Ocean、AWS等的优势在于能够快速重新缩放和添加新服务、灵活性,但以前从未在这些服务中运行过这样的服务。

以上任何一种,但使用Cloudflare可以减少处理安全性和负载平衡的开销。

有兴趣了解您的一些经验或见解,

干杯

Ady公司

1 个回复
SO网友:forsvunnet

仅使用硬件进行扩展成本很高。我们已经与一些高流量网站和许多要求苛刻的电子商务/WooCommerce网站合作。我们扩展这些功能的方式是通过测试代码、优化数据库调用、优化数据库本身以及实现全页缓存。

以下是一些让您开始学习的提示

为了获得更好的性能,请使用nginx而不是apacheget_posts 和WP_Query 使用优化的$wpdb 查询

  • 使用各种优化工具(如gtmetrix、pagespeed或yslow)检查问题
  • 使用mysql常规日志记录并检查每个查询的速度。在需要的地方安装索引如果优化还不够,那么您可能需要研究负载平衡或集群设置。

  • 结束

    相关推荐

    Split posts between databases

    我的客户要求为基于WP的wordpress(单站点,而不是多站点)提供一个非常具体的解决方案。基本上,他想要的是,假设在1000篇文章之后,应该创建新的数据库(只有5个表,posts,posmeta和3个与分类相关的表),新的文章应该和所有的post meta一起存储在这个数据库中,直到它达到1000篇文章,然后处理重复。具有挑战性的部分是,所有这些数据库必须同时处于活动状态,因此WP应该能够同时访问来自主数据库和所有这些新创建的数据库(有5个表)的帖子。这可能需要hyperdb. 问题包括:如何告诉wp