直接進入正題 ...
小弟初學DB,照著「MariaDB Galera Cluster部署实战」
確實搭建了三台Server,並成功連接叢集了
主節點:172.16.16.166
節點:172.16.16.165、172.16.16.167
三台規格:
Memory:8GB
CPU:1 sockets 2 cores
HHD:100G
但是測試吞吐量的時候,單台叢集測試,
處理量:12/sec
但只要叢集連接三台就會大打折扣,變成 4/sec
Galera的相關配置
wsrep_on=ON
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_name=galera_cluster
wsrep_cluster_address="gcomm://172.16.16.166,172.16.16.165,172.16.16.167"
wsrep_node_name=172.16.16.166
wsrep_node_address=172.16.16.166
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
# myself_setting
max_connections=1500
innodb_buffer_pool_size=5G
innodb_buffer_pool_instances=5
back_log=900
# Necessary modification
max_connect_errors = 1844674407370954751
connect_timeout = 20
skip-name-resolve
slave_net_timeout = 30
後面我新增一行代碼
memlock #將mysqld程序鎖定在記憶體中
吞吐量就立刻大增十倍之多
但是相對的,也導致三台叢集都無法連上
因此想詢問,是否有能連上三台叢集又能大幅增加吞吐量的辦法
因為卡一陣子了,所以上來尋找能請益的前輩 > . <
你不能要求又要馬兒好,
又要馬兒不吃草吧,
叢集的目的是同步資料,
一方面備份,
一方面可以做負載平衡,
但是總是要付出一些代價的,
就像你用index加快了查詢速度,
但總是會拖累寫入速度的,
這就需要多嘗試跟需求評估了.
MySql是有很多參數要調整的,
你可以去找相關的資料,
這部份我也很久沒碰了,
也沒有研究的很深,
就麻煩你自己研究了.