gpt4 book ai didi

mysql - Galera 集群的查询性能较差

转载 作者:行者123 更新时间:2023-11-29 11:19:57 26 4
gpt4 key购买 nike

我最近将生产系统从单个 MySQL 实例迁移到具有三个节点的 Galera 集群。一切似乎都工作正常,但对于 SELECT 查询;迁移后查询性能急剧下降,现在已经到了难以忍受的地步。

有人有 Galera 的性能调整技巧吗?我是 Galera 的新手,我所做的设置可能是最简单的。

这是 my.cnf 文件的 Galera 部分:

# Galera
wsrep_provider =/usr/lib/galera/libgalera_smm.so
wsrep_cluster_address ="gcomm:// 213.179.3.90, 213.179.3.91, 213.179.3.92"
wsrep_sst_method =rsync
wsrep_cluster_name =galera_cluster
binlog_format =ROW
default_storage_engine =InnoDB
innodb_autoinc_lock_mode=2
innodb_locks_unsafe_for_binlog=1

这是一个需要永远执行的查询:

SELECT
r.customerid,
r.operator,
r.account,
CAST(r.requesttype AS char),
CAST(SUM(r.nofsms) AS char),
COALESCE(r.subid1, ''),
COALESCE(r.subid2, ''),
COALESCE(r.subid3, '')
FROM
`smspro`.`smspro_cc_result` r
INNER JOIN smspro.smspro_customer sc ON sc.customerid = r.customerid
AND sc.smsproinvoice = 0
WHERE
r.status = 0
AND r.timestamp >= '2016-05-25'
AND r.timestamp < '2016-06-25'
AND r.requesttype IN (1 , 2, 4, 5)
GROUP BY r.customerid , r.operator , r.account , r.requesttype , r.subid1 , r.subid2 , r.subid3
ORDER BY r.customerid , r.operator , r.account , r.requesttype , r.subid1 , r.subid2 , r.subid3

以及一些统计数据

mysql> select count(*) from smspro_cc_result;
+----------+
| count(*) |
+----------+
| 9170870 |
+----------+

mysql> show index from smspro_cc_result;
+------------------+------------+---------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+------------------+------------+---------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| smspro_cc_result | 0 | PRIMARY | 1 | smsproid | A | 8825169 | NULL | NULL | | BTREE | | |
| smspro_cc_result | 1 | idx_sms_req_1 | 1 | customerid | A | 14757 | NULL | NULL | | BTREE | | |
| smspro_cc_result | 1 | idx_sms_req_2 | 1 | timestamp | A | 4412584 | NULL | NULL | | BTREE | | |
| smspro_cc_result | 1 | idx_sms_req_3 | 1 | customerid | A | 18233 | NULL | NULL | | BTREE | | |
| smspro_cc_result | 1 | idx_sms_req_3 | 2 | msisdn | A | 8825169 | NULL | NULL | | BTREE | | |
| smspro_cc_result | 1 | idx_sms_req_3 | 3 | timestamp | A | 8825169 | NULL | NULL | | BTREE | | |
| smspro_cc_result | 1 | idx_sms_req_5 | 1 | msisdn | A | 8825169 | NULL | NULL | | BTREE | | |
+------------------+------------+---------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+

我忘记了什么或者这里都是背景 Material 吗?

最佳答案

My Tips .

如果 3 个节点在地理上分散,则 COMMIT 的延迟成本很高。

您正在与单个服务器进行比较吗?或者复制设置?或者是其他东西?客户端是否位于具有节点之一的服务器中?是否涉及负载均衡器或代理?

如果您没有重新调整多个 InnoDB 设置,Galera 将无法发挥最佳性能。让我们看看你的配置文件。 (或者同时发布 SHOW VARIABLESSHOW GLOBAL STATUS,以及 RAM 大小。)

哪些查询显示性能下降?查看它们可能有助于我们专注于问题,并有望找到解决方法。

关于mysql - Galera 集群的查询性能较差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39089293/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com