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

我叫伊藤,是一名基础设施工程师。
通过使用 AWS 等云服务,现在可以轻松复制服务器,并通过负载均衡器为站点访问提供冗余和负载均衡。
在这种状态下,Web 服务器是冗余的,并且负载均衡,但数据库不是。
如果数据库访问量很大,
Web 服务器的负载可能尚可控制,但数据库服务器端的处理可能会变得拥堵,从而可能导致网站无法显示。
简而言之,WordPress 是一个运行在所谓 LAMP 环境中的内容平台。
这意味着它使用数据库,因此即使有冗余的 Web 服务器,如果数据库拥塞……
503服务暂时不可用
我收到一个我不想看到的错误信息。
在这种情况下,我们也应该实现数据库冗余!
因此,我想介绍一下“HyperDB”,一个可以为 WordPress 启用数据库冗余的插件。
对于 AWS 来说,实现 RDS 冗余非常简单。
你只需要创建一个主 RDS 实例的“只读副本”即可。
因此,我就不再赘述了。
安装 HyperDB
安装 HyperDB 插件有点复杂。
虽然可以通过 WordPress 管理面板安装,但
实际配置需要直接写入 PHP 文件。
安装完成后,您应该在 WordPress 的 wp-content/plugins/hyperdb 目录下找到以下文件:
“db-config.php”
如果您可以通过 SSH 连接到服务器,请使用 SSH 连接。如果只能通过 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
