您好,登錄后才能下訂單哦!
這篇文章主要介紹Mysql中MGR監控及優化點的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
監控點
可用性監控
本節點是不是online:
select member_state from replication_group_members where member_id=@@server_uuid;
當前節點是不是可以寫:
select * from performance_schema.global_variables where variable_name in ('read_only', 'super_read_only');
節點是Online表示屬于集群中,正常工作。 節點不可寫,表示是Single-master中的非Master節點。
性能監控
復制是不是存在延遲:
對比獲得到的GTID和本節點執行的GTID是不是一致:
獲取的GTID:
SELECT Received_transaction_set FROM performance_schema.replication_connection_status WHERE Channel_name = 'group_replication_applier';
本節點執行的GTID:
select @@gtid_executed;
遠程獲取的GTID - 本節點執行的GTID = 延遲的GTID數
本節點執行隊列是不是有堆積(大于0表示有延遲):
select count_transactions_in_queue from replication_group_member_stats where member_id=@@server_uuid;
流控(flow control)
在MGR中如果節點落后集群中其它成員太多,就會發起讓其它節點等他完成在做的控制,這個叫流控。
當啟用: group_replication_flow_control_mode=QUOTA 是表示啟用流控。 流控默認通過兩個參數控制:
group_replication_flow_control_applier_threshold (默認: 25000)
group_replication_flow_control_certifier_threshold (默認: 25000)
也就說默認延遲在25000個GTID時,會對整個集群Block住寫操作。
當然,也可以允許,節點延遲,就如同我們主從結構,從節點延遲,不往上面發請求就可以。
關閉Flow control:
set global group_replication_flow_control_mode='DISABLED';
提示: 關閉流控制,注意查看是不是存在延遲,如果延遲,自已控制閥值不向上面發請求即可。 多IDC結構的MGR,建議關閉流控。
MGR調優參數
因為基本復制結構,所有的數據復制,還是邏輯的重放,所以優化也是復制優化點。
更改:
slave_parallel_type -> LOGICAL_CLOCK
增強sql_thread個數:
slave_parallel_workers -> 2-8
如果CPU瓶頸,網絡沒問題,減少CPU壓縮:
group_replication_compression_threshold = 1000000 -> 2000000
由原來的1M變成2M,再進行壓縮(主要針對大事務傳述優化)
以上是“Mysql中MGR監控及優化點的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。