6.4. 在 MariaDB 集群中测试数据库复制性能
要检查 MariaDB Galera 集群 的性能,请通过检查特定的 wsrep 数据库变量在集群复制吞吐量上运行基准测试。
每次查询其中一个变量时,FLUSH STATUS 命令都会重置变量值。要运行基准测试,您必须运行多个查询并分析差异。这些变体可帮助您确定流控制对集群性能的影响。
流控制是集群用来管理复制的机制。当本地接收队列超过特定阈值时,流控制会暂停复制,直到队列大小停机为止。有关流控制的更多信息,请参阅 Galera 集群网站上的流控制。
流程
运行以下命令,将 <
;variable> 替换为您要检查的wsrep数据库变量:$ sudo podman exec galera-bundle-podman-0 sudo mysql -B --password="[MYSQL-HIERA-PASSWORD]" -e "SHOW STATUS LIKE <variable>;"
下表列出了可用于测试数据库复制性能的 wsrep 数据库变量。
| 变量 | 概述 | 使用方法 |
|---|---|---|
|
| 最后一次查询后收到的 write-set 队列的平均大小。 |
高于 0.0 的值表示节点无法快速应用 write-sets,因为它会接收 write-sets,这会触发复制节流。检查 |
|
| 最后一次查询后的平均发送队列长度。 | 值高于 0.0 表示复制节流和网络吞吐量问题的可能性更高。 |
|
| 最后一次查询后本地接收队列的最小和最大大小。 |
如果 |
|
| 流控制在最后一次查询后暂停节点的时间部分。 |
高于 0.0 的值表示 Flow Control 暂停了节点。要确定暂停的持续时间,请将 例如:
|
|
|
可以并行应用最低和最高序列号( |
如果节流和暂停,此变量表示可以并行应用平均数量的写入集。将值与 |
|
| 可同时应用的线程数量 |
您可以增加此变量的值,以同时应用更多线程,这也会增加
例如,如果
如果有问题的节点已有最佳 |