国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于LVS的數(shù)據(jù)庫集群負(fù)載均衡性能測試與分析

2017-03-10 08:54祝永志
關(guān)鍵詞:均衡器集群調(diào)度

王 超,祝永志

(曲阜師范大學(xué) 信息科學(xué)與工程學(xué)院,山東 日照 276800)

基于LVS的數(shù)據(jù)庫集群負(fù)載均衡性能測試與分析

王 超,祝永志

(曲阜師范大學(xué) 信息科學(xué)與工程學(xué)院,山東 日照 276800)

Linux虛擬服務(wù)器(Linux Virtual Server,LVS)技術(shù)是一種廣泛應(yīng)用于企業(yè)集群中的負(fù)載均衡技術(shù),目前關(guān)于LVS的研究主要是基于Web服務(wù)器集群負(fù)載均衡性能方面。在一些實際應(yīng)用場景中,LVS可以直接與數(shù)據(jù)庫集群相結(jié)合。將LVS與數(shù)據(jù)庫集群結(jié)合,提出一種對LVS架構(gòu)下數(shù)據(jù)庫集群性能進行測試的方案,并利用HP LoadRunner對負(fù)載均衡算法的數(shù)據(jù)庫集群進行負(fù)載測試實驗,通過數(shù)據(jù)分析比較,得出LVS提供的算法中較適合數(shù)據(jù)庫集群的調(diào)度算法。

Linux虛擬服務(wù)器;數(shù)據(jù)庫集群;負(fù)載均衡;性能測試;算法分析

0 引言

進入大數(shù)據(jù)時代,網(wǎng)絡(luò)中的數(shù)據(jù)規(guī)模呈現(xiàn)出爆炸式的增長模式,面對愈來愈復(fù)雜的數(shù)據(jù)服務(wù)需求,傳統(tǒng)的單點數(shù)據(jù)庫根本無法滿足要求,此時迫切需要一種具有高性能、高可用性優(yōu)勢的技術(shù)來解決這一問題。數(shù)據(jù)庫集群的出現(xiàn)從根本上解決了復(fù)雜的數(shù)據(jù)服務(wù)需求問題。由于數(shù)據(jù)庫集群所具有的獨特優(yōu)勢,使其得到愈來愈廣泛的應(yīng)用。集群負(fù)載均衡是數(shù)據(jù)庫集群系統(tǒng)的關(guān)鍵技術(shù),優(yōu)秀的負(fù)載均衡技術(shù)能有效提高集群性能,提高集群硬件的利用率。

作為企業(yè)級負(fù)載均衡器的Linux虛擬服務(wù)器,由于其支持對TCP請求做負(fù)載均衡,因此LVS架構(gòu)可以用于做數(shù)據(jù)庫集群的負(fù)載均衡。目前,對于LVS算法性能的研究多是基于Web服務(wù)器集群的,并有實驗證明了LVS架構(gòu)與數(shù)據(jù)庫集群(MySQL Cluster)結(jié)合的技術(shù)可行性[1],但是并沒有分析比較適應(yīng)數(shù)據(jù)庫集群的負(fù)載均衡算法,目前尚未找到最適合數(shù)據(jù)庫集群的負(fù)載均衡算法。

為了進一步提高實驗數(shù)據(jù)的準(zhǔn)確性,在本文的測試過程中引入了IP Spoof和變量參數(shù)化技術(shù),從而更好地提高數(shù)據(jù)的有效性。

1 平臺介紹

1.1 MySQL Cluster

MySQL Cluster是由SUN Micro System公司研發(fā)推出的,是將MySQL數(shù)據(jù)庫集群化的產(chǎn)品。MySQL Cluster支持運行在無共享結(jié)構(gòu)(Share Nothing Architecture,SNA)環(huán)境中的集群,集群對硬件配置要求低,且多采用分布式設(shè)計[2]。相比于Oracle的分布式數(shù)據(jù)庫(Real Application Cluster,RAC)集群系統(tǒng),MySQL Cluster具有搭建簡單、運營成本低等優(yōu)勢,受到個人用戶和中小型企業(yè)的青睞。

1.2 Linux虛擬服務(wù)器

作為一款開源的負(fù)載均衡軟件,Linux虛擬服務(wù)器的負(fù)載均衡架構(gòu)已被廣泛應(yīng)用于企業(yè)Web服務(wù)器集群系統(tǒng)中。

目前,LVS系統(tǒng)已經(jīng)實現(xiàn)了3種架構(gòu)模式和8種負(fù)載均衡算法。LVS擁有工作在網(wǎng)絡(luò)層上的IPVS和工作在應(yīng)用層的KTCPVS內(nèi)容請求分發(fā)技術(shù)[3]。作為輕量級的負(fù)載均衡軟件,負(fù)載均衡器本身消耗資源很少,能有效地實現(xiàn)請求的調(diào)度,Linux虛擬服務(wù)器作為服務(wù)器的負(fù)載均衡器結(jié)構(gòu)如圖1所示。本文基于現(xiàn)有對于數(shù)據(jù)庫集群和Linux虛擬服務(wù)器的研究,將兩者相結(jié)合,并在此基礎(chǔ)上對二者結(jié)合的效果做出測試和分析。

圖1 Linux虛擬服務(wù)器負(fù)載均衡結(jié)構(gòu)

1.3 測試軟件HP LoadRunner

HP Loadrunner是一款比較成熟的商用工業(yè)級標(biāo)準(zhǔn)的測試工具,由于它可以用較少的硬件資源對成千上萬的用戶并發(fā)行為進行模擬,因此常被用來進行軟件測試,并對系統(tǒng)性能進行監(jiān)測,如對Windows、Linux等操作系統(tǒng)的性能實時監(jiān)測[4]。本文使用該軟件模擬用戶行為,對遠(yuǎn)程集群發(fā)出SQL請求,用于測試負(fù)載均衡器對SQL請求的分發(fā)性能以及數(shù)據(jù)庫集群的綜合性能。

2 測試原理

LVS負(fù)載均衡架構(gòu)中包含三種基礎(chǔ)架構(gòu)搭建模式:(1)VS/TUN模式(需要真實服務(wù)器支持IP tunneling協(xié)議)通過IP通道的方式實現(xiàn)請求均衡分發(fā);(2)VS/NAT模式(負(fù)載均衡器存在的通信壓力有可能成為整個系統(tǒng)性能的瓶頸)通過網(wǎng)絡(luò)地址轉(zhuǎn)換實現(xiàn)任務(wù)交付;(3)VS/DR方式將處理后的結(jié)果直接交付給用戶,在通用網(wǎng)絡(luò)中此種模式響應(yīng)信息能較快返回[5]。在本次測試中為了減少系統(tǒng)誤差對實驗結(jié)構(gòu)的影響,更快實現(xiàn)結(jié)果返回,實驗架構(gòu)采用VS/DR模式。

截止到目前,LVS負(fù)載均衡器已經(jīng)實現(xiàn)了輪詢調(diào)度算法、加權(quán)輪詢調(diào)度算法、最小連接調(diào)度算法、加權(quán)最小連接算法、基于局部性的最少鏈接調(diào)度算法、帶復(fù)制的基于局部性最少鏈接調(diào)度算法、目標(biāo)地址散列調(diào)度算法、源地址散列調(diào)度算法[6]共8種負(fù)載均衡調(diào)度算法。其中,由于基于局部的性最少鏈接調(diào)度算法和帶復(fù)制的局部性最少鏈接調(diào)度算法多在Cache集群中[7]應(yīng)用,因此本次測試未在數(shù)據(jù)庫集群中使用。

在MySQL Cluster中,通常使用NDB(Network Database)存儲引擎來實現(xiàn)數(shù)據(jù)集群的數(shù)據(jù)節(jié)點之間的整合,數(shù)據(jù)節(jié)點之間數(shù)據(jù)的同步主要是通過復(fù)制的方式來實現(xiàn),在測試中通過該機制實現(xiàn)各個節(jié)點數(shù)據(jù)的一致性[2]。

IP欺騙(IP spoof),在HP Loadrunner中提供了IP Wizard軟件,用戶可用以調(diào)整用戶IP設(shè)置,通過設(shè)置IP欺騙可以允許一臺主機同時使用多個相異的IP地址。同時使用變量參數(shù)化方式保證測試用戶的互異性。Loadrunner在初始化用戶的階段即可根據(jù)用戶信息和IP的差異創(chuàng)建多個不同的TCP會話[8]。

設(shè)置負(fù)載測試生成節(jié)點,通過增加訪問用戶的數(shù)目,增加并發(fā)訪問壓力,分析每次性能測試的結(jié)果,本實驗使用并發(fā)測試的主要目的是根據(jù)數(shù)據(jù)分發(fā)情況測試LVS負(fù)載均衡算法的效果,并根據(jù)用戶-響應(yīng)時間關(guān)系判斷請求的處理效率,評估算法優(yōu)劣。

3 測試實驗

3.1 實驗配置

由于完整的MySQL數(shù)據(jù)庫集群需具有管理節(jié)點(Master Node)、數(shù)據(jù)節(jié)點(Data Node)和SQL節(jié)點(SQL Node)三種節(jié)點[9],為了提高數(shù)據(jù)庫結(jié)構(gòu)的完整性,本實驗將三種節(jié)點用于集群中。在該系統(tǒng)中的負(fù)載均衡器所在的服務(wù)器同時作為數(shù)據(jù)庫集群的管理節(jié)點,數(shù)據(jù)節(jié)點與SQL節(jié)點同主機作為真實服務(wù)器,配置集群中的各臺主機的IP地址如下:

LVS均衡器/管理節(jié)點真實IP:192.168.1.141

負(fù)載均衡器虛擬IP:192.168.1.250

DB Node 01 IP:192.168.1.142

DB Node 03 IP:192.168.1.144

為更明顯地測試并比較出負(fù)載均衡算法的實際使用效果,這里使用的數(shù)據(jù)庫節(jié)點的性能較低,實驗設(shè)置的真實服務(wù)器的CPU性能對等 ,節(jié)點的RAM分別安裝為512 MB、1 024 MB、2 048 MB,節(jié)點之間使用高速路由器相連接。根據(jù)MySQL數(shù)據(jù)庫集群搭建方法[10]搭建如圖2所示的實驗拓?fù)浣Y(jié)構(gòu)。

根據(jù)LVS配置規(guī)則[11]在負(fù)載均衡器上配置數(shù)據(jù)轉(zhuǎn)發(fā)規(guī)則,配置完成后在管理節(jié)點用ipvsadm-l命令查看內(nèi)配置內(nèi)容:

->RemoteAddress:Port Forward weight ActiveConn

InactiveConn

->192.168.1.142:mysql Route 1 0

0

2018年,協(xié)會深入貫徹創(chuàng)新、協(xié)調(diào)、綠色、開放、共享的發(fā)展理念,圍繞本市能源消費總量和能耗強度“雙控”行動,聚焦重點行業(yè)、重點園區(qū)、重點企業(yè)和重點產(chǎn)品等內(nèi)容,重點從四個方面開展工作。

->192.168.1.143:mysql Route 1 0

0

->192.168.1.144:mysql Route 1 0

0

3.2 LoadRunner配置

在HP LoadRunner的庫文件中創(chuàng)建包含60名用戶信息的參數(shù)文件username.dat,在腳本中使用lr_eval_string()函數(shù)調(diào)用此參數(shù)文件,用戶參數(shù)列表的循環(huán)調(diào)用方式設(shè)置為Unique-Once方式。對MySQL數(shù)據(jù)庫驅(qū)動和函數(shù)文件進行導(dǎo)入,并編輯虛擬用戶的action腳本。

為確保用于測試的用戶獨立性和時間結(jié)果的有效性,測試時需要開啟軟件的IP spoof功能,每臺測試機通過使用LoadRunner提供的軟件組件IP Wizard添加IP地址到本地網(wǎng)卡,在Controller中開啟專家模式,并選擇啟用IP欺騙功能,在測試機上創(chuàng)建具有不同IP地址的LoadGenerator,并在Vuser中對虛擬用戶綁定IP地址。

3.3 實驗過程

(1)在數(shù)據(jù)庫中創(chuàng)建60個互異數(shù)據(jù)庫用戶,并分別給用戶執(zhí)行授權(quán)操作。

(2)在數(shù)據(jù)庫中創(chuàng)建共享分布式數(shù)據(jù)庫數(shù)據(jù)表create table tb01(val int) ENGINE = ndbcluster,執(zhí)行SQL請求語句insert into tb01 values (44)。

(3)MySQL數(shù)據(jù)庫默認(rèn)支持的最大的連接數(shù)為100,為避免實驗中受到最大連接數(shù)的影響,設(shè)置連接數(shù)為最大16 384。

(4)設(shè)置數(shù)據(jù)庫的連接超時時間為1 s,以保證測試用戶能有效訪問數(shù)據(jù)庫,完成SQL語句執(zhí)行。

(5)在6臺計算機上同時運行虛擬用戶測試腳本,啟動虛擬用戶執(zhí)行SQL語句,測試完成一種算法之后在負(fù)載均衡器上依次切換不同的負(fù)載均衡算法,統(tǒng)計用戶數(shù)目和響應(yīng)時間數(shù)據(jù)。

4 結(jié)果與分析

4.1 實驗數(shù)據(jù)

在上述實驗環(huán)境中對LVS常用的負(fù)載均衡調(diào)度算法(輪詢調(diào)度算法(rr),加權(quán)輪詢調(diào)度算法(wrr),最小連接調(diào)度算法(lc),加權(quán)最小連接調(diào)度算法(wlc),源地址散列調(diào)度算法(sh),目的地址散列調(diào)度算法(dh))依次進行負(fù)載測試。由于測試生成的數(shù)據(jù)集數(shù)據(jù)較為離散,對測試結(jié)果以30 s為間隔生成的數(shù)據(jù)劃取連續(xù)的10個時間間隔(t0,t1)(t1,t2)…(t9,t10),去掉數(shù)據(jù)突增干擾點,求區(qū)間時間平均值分別為:ave1,ave2,…,ave10,根據(jù)關(guān)系式(1)計算出響應(yīng)時間均值。

(1)

通過使用以上方式對原始數(shù)據(jù)計算,將計算結(jié)果匯總?cè)绫?所示。

表1 用戶響應(yīng)時間數(shù)據(jù)表 (ms)

4.2 數(shù)據(jù)分析

根據(jù)表1中的測試試驗數(shù)據(jù)繪制6種算法用戶數(shù)目-響應(yīng)時間圖,如圖3、圖4所示。

圖3 wrr/rr/sh算法用戶響應(yīng)時間圖

圖4 dh/lc/wlc算法用戶響應(yīng)時間圖

設(shè)定數(shù)據(jù)中的用戶響應(yīng)時間為resTime,通信時間為connTime,數(shù)據(jù)處理時間為exeTime,則時間量之間滿足關(guān)系式(2)。

resTime=connTime+exeTime

(2)

根據(jù)此關(guān)系,數(shù)據(jù)庫集群的各個節(jié)點處于同一個通信集群中,其通信時間connTime可視為常量,節(jié)點之間的通信時間延穩(wěn)定且值比較小,據(jù)此可推得用戶的查詢響應(yīng)時間和數(shù)據(jù)處理時間呈正比關(guān)系。

參考表1中的數(shù)據(jù),測試每種負(fù)載均衡算法,獲取到的數(shù)據(jù)滿足關(guān)系:Tlc>Tdh>Tsh>Trr>Twrr>Twlc

實驗數(shù)據(jù)顯示,用戶響應(yīng)時間與用戶數(shù)量U呈線性增長趨勢,則用戶響應(yīng)時間與用戶數(shù)量比滿足關(guān)系Tlc/U>Tdh/U…>Twlc/U,其算法處理效率ε滿足εlc>εdh…>εwlc。

根據(jù)以上分析可知,在排除通信對于響應(yīng)時間的影響情況下,SQL請求的處理時間直接影響用戶響應(yīng)時間。在非對稱集群環(huán)境中,集群中節(jié)點性能存在差異,輪詢調(diào)度算法和最小連接算法由于不能根據(jù)節(jié)點的實際性能調(diào)度,在實際使用中的效果不能完全發(fā)揮集群的性能。相比之下,加權(quán)最小連接調(diào)度算法和加權(quán)輪詢調(diào)度算法在實行調(diào)度時都能夠根據(jù)節(jié)點的實際硬件性能有效完成,其中加權(quán)最小連接調(diào)度算法的調(diào)度還能夠根據(jù)節(jié)點的實時連接數(shù)目有效調(diào)節(jié)。在用戶基數(shù)較少時,由于加權(quán)最小連接算法和加權(quán)輪詢調(diào)度算法會涉及權(quán)值計算,消耗一定的時間,而使用輪詢調(diào)度算法的調(diào)度直接交付SQL請求,執(zhí)行效率較高;在用戶基數(shù)較大時,加權(quán)最小連接調(diào)度算法能根據(jù)服務(wù)器集群的實際性能進行調(diào)度,提高了集群的利用率。

5 結(jié)論

本文提出了LVS架構(gòu)下數(shù)據(jù)庫集群負(fù)載均衡算法性能的測試方案,通過HP LoadRunner軟件對LVS架構(gòu)下的MySQL集群性能進行測試,分析用戶響應(yīng)時間與用戶并發(fā)數(shù)的關(guān)系,驗證了LVS架構(gòu)對數(shù)據(jù)庫集群的負(fù)載調(diào)度的有效性。根據(jù)對試驗數(shù)據(jù)的分析得出:在非對稱集群環(huán)境中多用戶并發(fā)的情況下,加權(quán)最小連接調(diào)度算法能有效提高調(diào)度效率,從而提升數(shù)據(jù)庫集群性能和節(jié)點硬件資源的利用率。

[1] 談書才,劉青青.基于Replication和LVS的MySQL分布式數(shù)據(jù)庫研究[J].中國科技信息,2015(10):61-62.

[2] 李紅艷.基于NDB引擎的MySQL Cluster的部署規(guī)則及測試[D].濟南:山東大學(xué),2015.

[3] 邱建新.LVS集群技術(shù)在教學(xué)資源庫平臺中的應(yīng)用[J].微型機與應(yīng)用,2013,32(23):80-82.

[4] 熊婧,夏仲平,林軍,等.基于CPU/OS的信息系統(tǒng)性能測試方案研究[J].計算機工程,2015,41(12):82-85.

[5] Wei Qun, Xu Guangli, Li Yuling.Research on cluster and load balance based on Linux Virtual Server,ICICA 2010: International Conference on Information Computing and Applications[C].Berlin Heidelbeng: Springer,2010.

[6] Zhang Wensong. Job scheduling algorithms in Linux Virtual Server [EB/OL]. (2011-02-08) [2016-06-25] http:// www. linuxvirtualserver.org/docs/scheduling.html.

[7] 劉斌,徐精明,代素環(huán),等.基于Linux虛擬服務(wù)器的負(fù)載均衡算法[J].計算機工程,2011,37(23):279-281.

[8] 修佳鵬,楊正球,劉雪梅.軟件性能測試及工具應(yīng)用[M]. 北京:清華大學(xué)出版社,2014.

[9] BARON S,PETER Z,VADIM T.High Performance MySQL [M].Sebastopol:O’Reilly Media Inc,2008.[10] 唐漢明,翟振興,關(guān)寶軍,等.深入淺出MySQL[M].北京:人民郵電出版社,2014.

[11] Zhang Wensong.Virtual server via direct routing[EB/OL]. (2011-02-08)[2016-06-25]http://www.linuxvirtualserver.org/ VS-DRouting.html.

The performance measure and analysis of load balancing in database cluster based on Linux Virtual Server

Wang Chao,Zhu Yongzhi

(School of Information Science and Engineering, Qufu Normal University, Rizhao 276800, China)

Linux Virtual Server(LVS)techology is a load balancing technology widely used in enterprises. Most of the current research about LVS is based on performance of Web server.In some practical scenarios,LVS architecture is combined with database cluster directly.This paper proposed a test method for the performance of database cluster under LVS architecture,using HP LoadRunner to test the load balancing algorithm,comparing the data and getting the most effective LVS load balance algorithm.

Linux Virtual Server; database cluster; load balancing;performance testing; algorithm analysis

TP311.5

A

10.19358/j.issn.1674- 7720.2017.04.004

王超,祝永志.基于LVS的數(shù)據(jù)庫集群負(fù)載均衡性能測試與分析[J].微型機與應(yīng)用,2017,36(4):10-13.

2016-08-25)

王超(1991-),男,碩士研究生,主要研究方向:分布式數(shù)據(jù)庫。

祝永志(1964-),男,碩士,教授,主要研究方向:分布式數(shù)據(jù)庫,并行與分布式計算。

猜你喜歡
均衡器集群調(diào)度
心情如曲調(diào)般平衡繽紛
基于Kalman濾波的水聲混合雙向迭代信道均衡算法
采用負(fù)電容結(jié)構(gòu)的新型CTLE均衡器設(shè)計
《調(diào)度集中系統(tǒng)(CTC)/列車調(diào)度指揮系統(tǒng)(TDCS)維護手冊》正式出版
基于強化學(xué)習(xí)的時間觸發(fā)通信調(diào)度方法
一種基于負(fù)載均衡的Kubernetes調(diào)度改進算法
海上小型無人機集群的反制裝備需求與應(yīng)對之策研究
虛擬機實時遷移調(diào)度算法
一種無人機集群發(fā)射回收裝置的控制系統(tǒng)設(shè)計
Python與Spark集群在收費數(shù)據(jù)分析中的應(yīng)用