1. 程式人生 > >使用sysbench檢測HAProxy對於Percona XtraDB Cluster的負載均衡和故障檢測

使用sysbench檢測HAProxy對於Percona XtraDB Cluster的負載均衡和故障檢測

[[email protected] db]# sysbench --test=/software/sysbench/sysbench-0.5/sysbench/tests/db/oltp.lua --mysql-table-engine=innodb --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=sbtest --mysql-password=sbpass --oltp-table-size=10000 --num-threads=8 run
sysbench 0.5:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 8
Random number generator seed is 0 and will be ignored


Threads started!
登入haproxy的狀態介面 http://192.168.163.8/haproxy/stats檢視狀態

分發成功

5)我們將主節點mysql-pxc01關閉掉在檢視狀態

[[email protected] ~]# service mysql stop
Shutting down MySQL (Percona XtraDB Cluster)..........[  OK  ]
此時我們的sysbench報警退出...
ALERT: failed to execute MySQL query: `UPDATE sbtest1 SET c='48430239815-39636634349-44303135689-38090726026-22121476891-44178343736-66628055146-51151353374-76675391132-92944723344' WHERE id=5000`:
ALERT: Error 1317 Query execution was interrupted
FATAL: failed to execute function `event': (null)
ALERT: failed to execute MySQL query: `SELECT DISTINCT c FROM sbtest1 WHERE id BETWEEN 3535 AND 3535+99 ORDER BY c`:
ALERT: Error 1047 Unknown command
FATAL: failed to execute function `event': (null)
ALERT: failed to execute MySQL query: `SELECT DISTINCT c FROM sbtest1 WHERE id BETWEEN 5050 AND 5050+99 ORDER BY c`:
ALERT: Error 1047 Unknown command
FATAL: failed to execute function `event': (null)
ALERT: failed to execute MySQL query: `SELECT DISTINCT c FROM sbtest1 WHERE id BETWEEN 5010 AND 5010+99 ORDER BY c`:
ALERT: Error 1047 Unknown command
FATAL: failed to execute function `event': (null)

再次執行的時候發現,haproxy識別到節點1關閉掉,狀態如下


6)我們再次開啟節點1,看看haproxy在leastconn的分發



由於我們是雙節點的叢集,節點1啟動的時候需要抓取節點2的日誌資料,備節點2不對外服務,所以連線為0。

同步完成後狀態轉化為:



7)節點正常後,由於我們使用的是leastconn,節點1上暫時沒有連線,再次執行命令,建立5個執行緒連線3306埠

[[email protected] ~]# sysbench --test=/software/sysbench/sysbench-0.5/sysbench/tests/db/oltp.lua --mysql-table-engine=innodb --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=sbtest --mysql-password=sbpass --oltp-table-size=10000 --num-threads=5 run
sysbench 0.5:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 5
Random number generator seed is 0 and will be ignored


Threads started!
狀態如下:


可見leastconn的演算法生效。

8)使用3307埠訪問mysql資料庫檢視
[[email protected] db]# sysbench --test=/software/sysbench/sysbench-0.5/sysbench/tests/db/oltp.lua --mysql-table-engine=innodb --mysql-host=127.0.0.1 --mysql-port=3307 --mysql-user=sbtest --mysql-password=sbpass --oltp-table-size=10000 --num-threads=8 run
sysbench 0.5:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 8
Random number generator seed is 0 and will be ignored


Threads started!


發現haproxy成功分發到各個server中

9)斷開節點1


10)恢復節點1



已有的連線不會進行roundrobin迴圈分配

11)我們再次建立6個連線到3307埠


發現每個節點各自分配了3個新連線。

HAProxy能夠實現節點的故障檢測和根據相應演算法進行負載均衡。

相關推薦

使用sysbench檢測HAProxy對於Percona XtraDB Cluster負載均衡故障檢測

[[email protected] db]# sysbench --test=/software/sysbench/sysbench-0.5/sysbench/tests/db/oltp.lua --mysql-table-engine=innodb --mysql-host=127.0.0.1

Mysql上的RAC:Percona XtraDB Cluster負載均衡集群安裝部署手冊

lpad protoc tps san make interact 連接數 文章 html 版權聲明:本文為博主原創文章,未經博主同意不得轉載。 https://blog.csdn.net

PXC5.7(Percona XtraDB Cluster)+HAproxy集群部署

PXChaproxymysqlPXC是Percona XtraDB Cluster的縮寫,是一種具有高可用性和高擴展性的MySQL開源集群。它集成了Percona Server和Percona XtraBackup,同時采用了Codership Galera庫。優點:1.準同步復制2.多個可同時讀寫節點,可實

docker swarm使用keepalived+haproxy搭建基於percona-xtradb-cluster方案的高可用mysql集群

router syslog add alived name tcp 客戶端 負載 start 一、部署環境 序號 hostname ip 備註 1 manager107 10.0.3.107 centos7;3.10.0-957.1.3.el7.x86_64

percona xtradb cluster test

amp all ets allow try status stat dock mys docker run --rm -ti -e CLUSTER_NAME=test -e MYSQL_ALLOW_EMPTY_PASSWORD=1 --entrypoint="bash" -

Install Percona XtraDb Cluster 5.6.20 on CentOS 6.5

ots mysql- mkdir binlog rdf bootstra cfg mysql sql http://blog.51cto.com/hj192837/1546149 You should have odd number of real nodes. node

Percona-XtraDB-Cluster的編譯安裝

centos7 PXC linux mysql 操作系統centos7.4,mysql 安裝在/data/mysql下,mysql屬於mysql用戶1.下載源碼包下載pxc-5.7.19mkdir -p /home/sunx/tools https://www.percona.com/down

Percona-XtraDB-Cluster編譯安裝錯誤

you all yum mys abort 加入集群 err 備份 Xtraback 報錯一: 2018-06-28T07:32:12.527956Z 0 [ERROR] WSREP: failed to open gcomm backend connection: 11

Percona XtraDB Cluster Installation Guide

code sha rep set expire service cati str ads Percona XtraDB Cluster(簡稱PXC)集群是基於Galera,事務型應用下的通用的多主同步復制插件,主要用於解決強一致性問題,使得各個節點之間的數據保持實時同步以及

mysql之 Percona XtraDB Cluster集群線程模型

動作 模型 page 版權 分配 copy 中繼日誌 只有一個 等待 Percona XtraDB集群創建一組線程來為其操作提供服務,這些線程與現有的MySQL線程無關。有三個主要線程組: 一、Applier線程 Applier線程應用從其他節點接收的寫入集。寫消息直接通過

Percona XtraDB Cluster(PXC)——架構原理

Percona XtraDB Cluster(PXC):Percona XtraDB Server +WSREP API(write set replication patches)  +  Galera(galera library) 轉自:http://blog

About Percona XtraDB Cluster

Percona XtraDB Cluster is a fully open-source high-availability solution for MySQL. It integrates Percona Server and Percona XtraB

docker mysql pxc叢集(percona-xtradb-cluster

docker pull percona/percona-xtradb-cluster docker tag percona/percona-xtradb-cluster pxc docker network create --subnet=172.18.0.0/24 net1 docker volume

Percona XtraDB Cluster 叢集引數配置說明(PXC 5.7)

從PXC5.7版本開始,叢集的配置主要是通過wsrep.cnf配置來實現。這個檔案有幾個常用的引數配置。下文對其做簡要說明。 一、PXC 5.7叢集配置檔案 [[email protected] ~]# more /etc/percona-xtradb-cluster.conf.d/wsrep

Mysql搭建PXC叢集 - Percona XtraDB Cluster

pxc叢集是Percona XtraDB Cluster的縮寫,是基於percona資料庫和galera中介軟體一種特殊MYSQL資料庫,而且據說percona資料庫的效能要比mysql還要好一些,並且是基於mysql,可以使用mysql的jdbc和客戶端進行連線的。 pxc叢集相比mysql單

如何在Debian 8上安裝Percona XtraDB Cluster for MySQL

翻譯&轉載來源:https://www.howtoforge.com/tutorial/how-to-install-percona-xtradb-cluster-for-mysql/   在本文中,我將向您展示如何在多主複製中配置具有三個節點的MySQL資料庫叢集。多主複

在CentOS上配置Percona XtraDB叢集(Percona XtraDB Cluster

原作者:Percona官網 翻譯&轉載來源:https://www.percona.com/doc/percona-xtradb-cluster/LATEST/howtos/centos_howto.html   在CentOS上配置Percona XtraDB叢集(Per

mysql之 Percona XtraDB Cluster叢集執行緒模型

Percona XtraDB叢集建立一組執行緒來為其操作提供服務,這些執行緒與現有的MySQL執行緒無關。有三個主要執行緒組: 一、Applier執行緒 Applier執行緒應用從其他節點接收的寫入集。寫訊息直接通過gcv_recv_thread。 使用wsrep_sl

Percona XtraDB Cluster高可用與狀態快照傳輸(PXC 5.7 )

Percona XtraDB Cluster(下稱PXC)高可用叢集支援任意節點在執行期間的重啟,升級或者意外宕機,即它解決了單點故障問題。那在這個意外宕機或者重啟期間,該節點丟失的資料如何再次進行同步呢?本文介紹了在節點故障和重啟PXC如何實現高可用以及狀態快照傳輸的幾種方

Percona XtraDB Cluster 的一些使用限制(PXC 5.7)

Percona XtraDB Cluster有眾多的優秀特性,使得mysql叢集得以輕鬆實現。但是不要忽略了它的一些限制。如果你無法接受,或者你的應用程式或資料庫(比如使用了memory引擎)對限制無法做出調整,那PXC對你而言是不合適。限制有哪些呢,下文是其描述。 1、儲