“HyperDB”是一款用于数据库冗余和负载均衡的WordPress插件。

我叫伊藤,是一名基础设施工程师。
通过使用 AWS 等云服务,现在可以轻松复制服务器,并通过负载均衡器为站点访问提供冗余和负载均衡。
在这种状态下,Web 服务器是冗余的,并且负载均衡,但数据库不是。
如果数据库访问量很大,
Web 服务器的负载可能不会有问题,但数据库服务器的处理可能会变得拥堵,导致网站无法显示。
这篇介绍有点长,但WordPress运行在所谓的LAMP环境下。
这意味着它使用数据库,所以即使你拥有冗余的Web服务器,数据库也可能出现拥堵……
503服务暂时不可用
我收到一个我不想看到的错误信息。
在这种情况下,最好也实现数据库冗余!
HyperDB ,这是一个为Worddress启用数据库冗余的插件。
对于 AWS 来说,实现 RDS 冗余非常容易。
你只需要创建主 RDS 的“只读副本”即可。
因此,这里我就不赘述了。
安装 HyperDB
安装 HyperDB 插件有点复杂,
因为虽然可以从 WordPress 管理界面安装,但
实际设置需要直接写入 php 文件。
安装完成后,您应该在 WordPress 的 wp-content/plugins/hyperdb 目录下找到以下文件:
“db-config.php”。
如果您可以通过 SSH 连接到服务器,则可以直接连接。如果您只能通过 FTP 连接,则需要提前配置 FTP 并将
其上传到目标目录。
首先,在 wp-config.php 文件中写入以下内容:“数据库配置文件为 db-config.php。”
# vim /pass/to/docroot/wp-config.php define('DB_CONFIG_FILE', ABSPATH . 'db-config.php');
我们继续进行设置。
配置 HyperDB
对已安装的 db-config.php 文件进行以下设置。
首先,配置主服务器。(大约在第 217 行,已在 v1.1 版本中确认)
# vim /pass/to/docroot/db-config.php $wpdb->add_database(array( 'host' => '输入 RDS(主服务器)端点', 'user' => DB_USER, 'password' => DB_PASSWORD, 'name' => DB_NAME, 'write' => 1, 'read' => 2, ));
对于主机,请输入 RDS 端点。如果您使用的端口不是默认的 3306,
则必须输入端口号,后跟冒号:<端点>:<端口号>。
关键在于写作和阅读。
- 写入:数据库写入优先级
- 读取:读取数据库的优先级
将其设置为“0”将禁用写入和读取操作。
在上述示例中,对主服务器的写入优先级较高,读取优先级较低。
接下来,我们将配置从服务器。
请在主服务器配置下方添加以下内容。
# vim /pass/to/docroot/db-config.php $wpdb->add_database(array( 'host' => '输入 RDS(从服务器)端点', 'user' => DB_USER, 'password' => DB_PASSWORD, 'name' => DB_NAME, 'write' => 0, 'read' => 1, ));
在这里,写作和阅读也是有效的。
- 写入:0 = 不写入服务器
- 读取优先级:1 表示读取优先级最高,写入优先级:0 表示只读
在此设置下,只有读取请求会被发送到从服务器。
同样地,如果您注册了多个从服务器,读取请求也只会发送到这些从服务器。
现在,对数据库的读取请求(即普通访问)会在各个从服务器之间进行负载均衡。
在 WordPress 中,数据库写入操作大多通过管理后台完成,例如更改设置或添加文章。
这不会造成问题,因为主服务器具有很高的写入优先级。
现在 WordPress 数据库实现了冗余和负载均衡!
现在,即使您的网站突然遭到访问,您也可以高枕无忧!
HyperDB — WordPress 插件
0