最近、私は1つのMySQLインスタンスから3つのノードを持つGaleraクラスタに運用システムを移行しました。すべてが正常に動作しているようですが、SELECTクエリでは問題ありません。クエリのパフォーマンスは、移動が大幅に減少し、現在は耐え難い面になっています。クエリのパフォーマンスが悪いGalera Cluster
誰でもGaleraのパフォーマンスチューニングのヒントを手に入れましたか?私はガレラの新人です。私が作った設定はおそらく最も簡単です。
これは、my.cnfファイルのガレラの一部です:
# 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
、ここで永遠にかかる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 | | |
+------------------+------------+---------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
がいました私は何かを忘れてしまったのですか?
「クエリ」は「SELECT」またはすべてのクエリを意味しますか? –
私が知る限り、SELECTが問題です。システムがデータを生成することに問題はないようです。それはパフォーマンスの面で大きな打撃を受けたレポートです。 – koenig
CPUにバインドされているかディスクにバインドされていますか?これらのマシンは以前のサーバーに匹敵しますか? ...特にディスクの性能とメモリだけでなく、コアのタイプと数も考慮する必要があります。 'innodb_buffer_pool_size'は匹敵しますか? –