下文給大家?guī)砣绾问褂肔VS+DR來搭建集群實(shí)現(xiàn)負(fù)載均衡,希望能夠給大家在實(shí)際運(yùn)用中帶來一定的幫助,負(fù)載均衡涉及的東西比較多,理論也不多,網(wǎng)上有很多書籍,今天我們就用創(chuàng)新互聯(lián)在行業(yè)內(nèi)累計(jì)的經(jīng)驗(yàn)來做一個(gè)解答。
DR模式的概述與工作原理
DR模式服務(wù)概述:
Direct Routing(直接路由)--在同一個(gè)地域,同一個(gè)網(wǎng)段
Director分配請求到不同的real server。real server處理請求后直接回應(yīng)給用戶,這樣director負(fù)載均衡器僅處理客戶機(jī)與云服務(wù)器的一半連接。負(fù)載均衡器僅處理一半的連接,避免了新的性能瓶頸,同樣增加了系統(tǒng)的可伸縮性。Direct Routing由與采用物理層(修改MAC地址)技術(shù),因此所有服務(wù)器都必須在一個(gè)網(wǎng)段中。
LVS DR 模式工作原理: 修改MAC地址
DR模式將報(bào)文直接路由給目標(biāo)真實(shí)服務(wù)器。在DR模式中,調(diào)度器根據(jù)各個(gè)真實(shí)服務(wù)器的負(fù)載情況,連接數(shù)多少等,動(dòng)態(tài)地選擇一臺(tái)服務(wù)器,不修改目標(biāo)IP地址和目標(biāo)端口,也不封裝IP報(bào)文,而是將請求報(bào)文的數(shù)據(jù)幀的目標(biāo)MAC地址改為真實(shí)服務(wù)器的MAC地址。然后再將修改的數(shù)據(jù)幀在服務(wù)器組的局域網(wǎng)上發(fā)送。因?yàn)閿?shù)據(jù)幀的MAC地址是真實(shí)服務(wù)器的MAC地址,并且又在同一個(gè)局域網(wǎng)。那么根據(jù)局域網(wǎng)的通訊原理,真實(shí)復(fù)位是一定能夠收到由LB發(fā)出的數(shù)據(jù)包。真實(shí)服務(wù)器接收到請求數(shù)據(jù)包的時(shí)候,解開IP包頭查看到的目標(biāo)IP是VIP。(此時(shí)只有自己的IP符合目標(biāo)IP才會(huì)接收進(jìn)來,所以我們需要在本地的回環(huán)借口上面配置VIP。另:由于網(wǎng)絡(luò)接口都會(huì)進(jìn)行ARP廣播響應(yīng),但集群的其他機(jī)器都有這個(gè)VIP的lo接口,都響應(yīng)就會(huì)沖突。所以我們需要把真實(shí)服務(wù)器的lo接口的ARP響應(yīng)關(guān)閉掉。)然后真實(shí)服務(wù)器做成請求響應(yīng),之后根據(jù)自己的路由信息將這個(gè)響應(yīng)數(shù)據(jù)包發(fā)送回給客戶,并且源IP地址還是VIP。
DR模式實(shí)際拓?fù)鋱D及LVS+DR方式的工作流程圖:MAC轉(zhuǎn)換過程
實(shí)例場景設(shè)備清單: director分發(fā)器,DIP: 192.1681.70,
VIP :192.168.1.63
① client發(fā)送的請求基本信息: IP:192.168.1.101 向目標(biāo)vip發(fā)出請求,Director接收。此時(shí)IP包頭及數(shù)據(jù)幀頭信息如下:
② Director分發(fā)器根據(jù)負(fù)載均衡算法選擇一臺(tái)active的realserver(假設(shè)是192.168.1.62),將此RIP所在網(wǎng)卡的mac地址作為目標(biāo)mac地址,發(fā)送到局域網(wǎng)里。此時(shí)IP包頭及數(shù)據(jù)幀頭信息如下:
③ realserver(192.168.1.62)在局域網(wǎng)中收到這個(gè)幀,脫掉數(shù)據(jù)幀后發(fā)現(xiàn)目標(biāo)IP(VIP)與本地匹配,于是處理這個(gè)報(bào)文。隨后重新封裝報(bào)文,發(fā)送到局域網(wǎng)。此時(shí)回復(fù)請求的IP包頭及數(shù)據(jù)幀頭信息如下:
④如果client與VS同一網(wǎng)段,那么client(192.168.57.135)將收到這個(gè)回復(fù)報(bào)文。如果跨了網(wǎng)段,那么報(bào)文通過gateway/路由器經(jīng)由Internet返回給用戶。
DR模式小結(jié):
1、通過在調(diào)度器LB上修改數(shù)據(jù)包的目的MAC地址實(shí)現(xiàn)轉(zhuǎn)發(fā)。注意源地址仍然是CIP,目的地址仍然是VIP地址。
2、請求的報(bào)文經(jīng)過調(diào)度器,而RS響應(yīng)處理后的報(bào)文無需經(jīng)過調(diào)度器LB,因此并發(fā)訪問量大時(shí)使用效率很高(和NAT模式比)
3、因?yàn)镈R模式是通過MAC地址改寫機(jī)制實(shí)現(xiàn)轉(zhuǎn)發(fā),因此所有RS節(jié)點(diǎn)和調(diào)度器LB只能在一個(gè)局域網(wǎng)里面
4、RS主機(jī)需要綁定VIP地址在LO接口上,并且需要配置ARP抑制。
5、RS節(jié)點(diǎn)的默認(rèn)網(wǎng)關(guān)不需要配置成LB,而是直接配置為上級路由的網(wǎng)關(guān),能讓RS直接出網(wǎng)就可以。
6、由于DR模式的調(diào)度器僅做MAC地址的改寫,所以調(diào)度器LB就不能改寫目標(biāo)端口,那么RS服務(wù)器就得使用和VIP相同的端口提供服務(wù)。
一:實(shí)驗(yàn)?zāi)繕?biāo)
1:正確理解DR的工作原理
2:使用LVS+DR搭建集群實(shí)現(xiàn)負(fù)載均衡
3:理解LVS的幾種調(diào)度模式以及調(diào)度參數(shù)
4:了解ipvsadm命令參數(shù)
5:用ab命令測試網(wǎng)站壓力
6:實(shí)戰(zhàn): 同時(shí)處理1000個(gè)請求。 一次要執(zhí)行1000個(gè)并發(fā)請求。
二:實(shí)驗(yàn)拓?fù)?/strong>
三:實(shí)驗(yàn)環(huán)境
1:準(zhǔn)備3臺(tái)
分發(fā)器:xuegod63 VIP:eth0:1:192.168.1.63
DIP:eth0:192.168.1.70
Real server xuegod62: RIP:eth0: 192.168.1.62
VIP:lo:1 192.168.1.63
Real serverxuegod64: RIP:eth0: 192.168.1.64
VIP:lo:1 192.168.1.632:iptables -F , 清除規(guī)則
3:selinux關(guān)閉
4:red had 6.5版本 64位操作系統(tǒng)
四:實(shí)驗(yàn)代碼
分發(fā)器-xuegod63
1:配置DIP和RIP地址
DIP :[root@xuegod63 ~]# ifconfig eth0 192.168.1.70
VIP :[root@xuegod63 ~]# ifconfig eth0:1 192.168.1.63
[root@xuegod63 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 #以配置以下信息
IPADDR=192.168.1.70
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=202.106.46.151
2:生成eth0:1配置文件
[root@xuegod63 network-scripts]# cp ifcfg-eth0 ifcfg-eth0:1
[root@xuegod63 network-scripts]# vim ifcfg-eth0\:1 #寫入以下內(nèi)容
DEVICE=eth0:1
NM_CONTROLLED=yes
IPADDR=192.168.1.63
NETMASK=255.255.255.0
ONBOOT=yes
TYPE=Ethernet
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
NAME="eth0:1"
HWADDR=00:0C:29:12:EC:1E #Mac地址必需要寫成和eth0一樣,否則出不來eth0:1這個(gè)網(wǎng)卡設(shè)備
[root@xuegod63 network-scripts]#service network restart
[root@xuegod63 network-scripts]# ifconfig #查看是否有eth0 和eth0:1
inet addr:192.168.1.63 Bcast:192.168.1.255 Mask:255.255.255.0
inet addr:192.168.1.63 Bcast:192.168.1.255 Mask:255.255.255.0
3:配置LVS-DR規(guī)則:
[root@xuegod63 network-scripts]# rpm -ivh /mnt/Packages/ipvsadm-1.25-9.el6.x86_64.rpm
[root@xuegod63 ~]# ipvsadm -A -t 192.168.1.63:80 -s rr
[root@xuegod63 ~]# ipvsadm -a -t 192.168.1.63:80 -r 192.168.1.62 -g
[root@xuegod63 ~]# ipvsadm -a -t 192.168.1.63:80 -r 192.168.1.64 -g
注: -g 表示DR模式 ,-m表示IP tun模式
[root@xuegod63 ~]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.1.63:80 rr
-> 192.168.2.62:80 Route 1 0 0
-> 192.168.2.64:80 Route 1 0 0
注:三個(gè)LVS 模式中,只有NAT模式需要開啟路由轉(zhuǎn)發(fā)功能。DR和TUN模式不需要開啟。
4:LVS的規(guī)則配置文件:/etc/sysconfig/ipvsadm
找到配置文件方法:因?yàn)椋?etc/init.d/ipvsadm save 可以保存。所以配置文件一定可以在/etc/init.d/ipvsadm 中找到相關(guān)保存路徑。
[root@xuegod63 ~]# vim /etc/init.d/ipvsadm
[root@xuegod63 ~]# /etc/init.d/ipvsadm save
[root@xuegod63 ~]# cat /etc/sysconfig/ipvsadm
-A -t 192.168.1.63:80 -s wrr
-a -t 192.168.1.63:80 -r 192.168.1.62:80 -g
-a -t 192.168.1.63:80 -r 192.168.1.64:80 -g
RealServer:xuegod62:
1, 配置RIPeth0 ,橋接模式
[root@xuegod62 ~]# ifconfig eth0 192.168.1.62/24
2, 回環(huán)接口-vip
[root@xuegod62 ~]# ifconfig lo:1 192.168.1.63 netmask 255.255.255.255
[root@xuegod62 network-scripts]# cp ifcfg-lo ifcfg-lo:1
[root@xuegod62 network-scripts]# cat ifcfg-lo:1
DEVICE=lo:1
IPADDR=192.168.1.63
NETMASK=255.255.255.255
ONBOOT=yes
NAME=loopback
[root@xuegod62~]# service network restart
3, 關(guān)閉ARP轉(zhuǎn)發(fā)功能。
[root@xuegod62 ~]# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
[root@xuegod62 ~]# echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
[root@xuegod62 ~]# vim /etc/sysctl.conf #最后添加
net.ipv4.conf.eth0.arp_ignore = 1
net.ipv4.conf.eth0.arp_announce = 2
[root@xuegod62 ~]# sysctl -p#永久生效:(注意realserver的實(shí)際link ok的網(wǎng)卡是不是eth0)
參數(shù)說明: | |
參數(shù) | 作用 |
arp_announce為:2 | 對查詢目標(biāo)使用最適當(dāng)?shù)谋镜氐刂?。例如,如果在eth0接口上接收到了一個(gè)VIP的arp請求包。內(nèi)核判斷這個(gè)VIP地址是不是eth0接口上的IP一樣。如果一樣,則回復(fù)這個(gè)包。如果不一樣,就丟棄不回應(yīng)。 |
arp_ignore 為:1 | 只回答目標(biāo)IP地址是訪問本網(wǎng)絡(luò)接口(eth0)的ARP查詢請求。 自己的理解: 在設(shè)置參數(shù)的時(shí)候?qū)rp_ignore設(shè)置為1,意味著當(dāng)別人的arp請求過來的時(shí)候,如果接收的網(wǎng)卡設(shè)備的arp緩存表中沒有這個(gè)ip,就不做出響應(yīng),默認(rèn)是0,只要這臺(tái)機(jī)器上面任何一個(gè)網(wǎng)卡設(shè)備上面有這個(gè)ip,就響應(yīng)arp請求,并發(fā)送mac地址。 |
4, 網(wǎng)關(guān)指向公網(wǎng)出口路由器IP:
[root@xuegod62 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
GATEWAY=192.168.1.1
5, 啟動(dòng)80端口
[root@xuegod62 ~]# echo 192.168.1.62 > /var/www/html/index.html
[root@xuegod62 ~]# service httpd restart
RealServer:xuegod64:
1, 配置ip eth0,橋接模式
[root@xuegod64 ~]#ifconfig eth0 192.168.1.64/24
2, 回環(huán)接口
[root@xuegod64 ~]# ifconfig lo:1 192.168.1.63 netmask 255.255.255.255
[root@xuegod64 network-scripts]# cp ifcfg-lo ifcfg-lo:1
[root@xuegod64 network-scripts]# cat ifcfg-lo:1
DEVICE=lo:1
IPADDR=192.168.1.63
NETMASK=255.255.255.255
ONBOOT=yes
NAME=loopback
3, 關(guān)閉ARP轉(zhuǎn)發(fā)。
[root@xuegod64 ~]# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
[root@xuegod64 ~]# echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
永久生效:(注意realserver的實(shí)際link ok的網(wǎng)卡是不是eth0)
[root@xuegod64 ~]# vim /etc/sysctl.conf #最后添加
net.ipv4.conf.eth0.arp_ignore = 1
net.ipv4.conf.eth0.arp_announce = 2
[root@xuegod64 ~]# sysctl -p
4, 網(wǎng)關(guān)指向公網(wǎng)出口路由器IP:
[root@xuegod64 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
GATEWAY=192.168.1.1
5, 啟動(dòng)80端口
[root@xuegod64 ~]#echo 192.168.1.64 > /var/www/html/index.html
[root@xuegod64 ~]#service httpd restart
測試
物理機(jī)上測試:
http://192.168.1.63/
注: 測試時(shí),不要在分發(fā)器上測試。那樣測試是不行的
////////////////////////////////////////////////////////////////////////////////////////////////////////
LVS的幾種調(diào)度模式:
[root@xuegod63 ~]# ipvsadm -h
參數(shù) | 調(diào)度算法 |
-s rr | 輪循法(默認(rèn)算法) |
-s wrr | 帶權(quán)重的循環(huán)法 |
-s lc | 最少連接法 |
-s wlc | 帶權(quán)重的最少連接法 |
-s lblc | 基于本地的最少連接法 |
-s dh | 目標(biāo)散列法 |
-s sh | 源散列法 |
-s sed | 最短預(yù)期延遲法 |
-s nq | 永不排隊(duì)法 |
每個(gè)調(diào)度算法詳細(xì)說明 | ||
數(shù)目 | 參數(shù) | 作用 |
1: | 輪循調(diào)度(Round Robin)(簡稱rr) | 調(diào)度器通過“輪叫”調(diào)度算法將外部請求按順序輪流分配到集群中的真實(shí)服務(wù)器上,它均等地對待每一臺(tái)服務(wù)器,而不管服務(wù)器上實(shí)際的連接數(shù)和系統(tǒng)負(fù)載。 |
2: | 加權(quán)輪叫(Weighted Round Robin)(簡稱wrr) | 調(diào)度器通過“加權(quán)輪叫”調(diào)度算法根據(jù)真實(shí)服務(wù)器的不同處理能力來調(diào)度訪問請求。這樣可以保證處理能力強(qiáng)的服務(wù)器能處理更多的訪問流量。調(diào)度器可以自動(dòng)問詢真實(shí)服務(wù)器的負(fù)載情況,并動(dòng)態(tài)地調(diào)整其權(quán)值。 |
3: | 最少鏈接(Least Connections)(LC) | 調(diào)度器通過“最少連接”調(diào)度算法動(dòng)態(tài)地將網(wǎng)絡(luò)請求調(diào)度到已建立的鏈接數(shù)最少的服務(wù)器上。如果集群系統(tǒng)的真實(shí)服務(wù)器具有相近的系統(tǒng)性能,采用“最小連接”調(diào)度算法可以較好地均衡負(fù)載。 |
4: | 加權(quán)最少鏈接(Weighted Least Connections)(WLC) | 在集群系統(tǒng)中的服務(wù)器性能差異較大的情況下,調(diào)度器采用“加權(quán)最少鏈接”調(diào)度算法優(yōu)化負(fù)載均衡性能,具有較高權(quán)值的服務(wù)器將承受較大比例的活動(dòng)連接負(fù)載。調(diào)度器可以自動(dòng)問詢真實(shí)服務(wù)器的負(fù)載情況,并動(dòng)態(tài)地調(diào)整其權(quán)值. |
5: | 基于局部性的最少鏈接(Locality-Based Least Connections)(LBLC | “基于局部性的最少鏈接”調(diào)度算法是針對目標(biāo)IP地址的負(fù)載均衡,目前主要用于Cache集群系統(tǒng)。該算法根據(jù)請求的目標(biāo)IP地址找出該目標(biāo)IP地址最近使用的服務(wù)器,若該服務(wù)器是可用的且沒有超載,將請求發(fā)送到該服務(wù)器;若服務(wù)器不存在,或者該服務(wù)器超載且有服務(wù)器處于一半的工作負(fù)載,則用“最少鏈接” 的原則選出一個(gè)可用的服務(wù)器,將請求發(fā)送到該服務(wù)器 |
6: | 帶復(fù)制的基于局部性最少鏈接(Locality-Based Least Connections with Replication)(LBLCR) | “帶復(fù)制的基于局部性最少鏈接”調(diào)度算法也是針對目標(biāo)IP地址的負(fù)載均衡,目前主要用于Cache集群系統(tǒng)。它與LBLC算法的不同之處是它要維護(hù)從一個(gè)目標(biāo)IP地址到一組服務(wù)器的映射,而LBLC算法維護(hù)從一個(gè)目標(biāo)IP地址到一臺(tái)服務(wù)器的映射。該算法根據(jù)請求的目標(biāo)IP地址找出該目標(biāo)IP地址對應(yīng)的服務(wù)器組,按“最小連接”原則從服務(wù)器組中選出一臺(tái)服務(wù)器,若服務(wù)器沒有超載,將請求發(fā)送到該服務(wù)器;若服務(wù)器超載,則按“最小連接”原則從這個(gè)集群中選出一臺(tái)服務(wù)器,將該服務(wù)器加入到服務(wù)器組中,將請求發(fā)送到該服務(wù)器。同時(shí),當(dāng)該服務(wù)器組有一段時(shí)間沒有被修改,將最忙的服務(wù)器從服務(wù)器組中刪除,以降低復(fù)制的程度。 |
7: | 目標(biāo)地址散列(Destination Hashing)(DH) | “目標(biāo)地址散列”調(diào)度算法根據(jù)請求的目標(biāo)IP地址,作為散列鍵(Hash Key)從靜態(tài)分配的散列表找出對應(yīng)的服務(wù)器,若該服務(wù)器是可用的且未超載,將請求發(fā)送到該服務(wù)器,否則返回空。 |
8: | 源地址散列(Source Hashing)(SH) | “源地址散列”調(diào)度算法根據(jù)請求的源IP地址,作為散列鍵(Hash Key)從靜態(tài)分配的散列表找出對應(yīng)的服務(wù)器,若該服務(wù)器是可用的且未超載,將請求發(fā)送到該服務(wù)器,否則返回空。 |
9: | 最短的期望的延遲(Shortest Expected Delay Scheduling SED)(SED) | 基于wlc算法。這個(gè)必須舉例來說了 |
10: | 最少隊(duì)列調(diào)度(Never Queue Scheduling NQ)(NQ) | 無需隊(duì)列。如果有臺(tái) realserver的連接數(shù)=0就直接分配過去,不需要在進(jìn)行sed運(yùn)算 |
注:調(diào)度算法配置后立即生效,就像iptables配置規(guī)則一樣。 |
測試不同的調(diào)度算法
例1:測試LVS的LVS-DR wrr-帶權(quán)重的循環(huán)法
[root@xuegod63 ~]# ipvsadm -C#清空之前的調(diào)度算法
[root@xuegod63 ~]# ipvsadm -A -t 192.168.1.63:80 -s wrr
[root@xuegod63 ~]# ipvsadm -a -t 192.168.1.63:80 -r 192.168.1.62 -g -w 10
[root@xuegod63 ~]# ipvsadm -a -t 192.168.1.63:80 -r 192.168.1.64 -g -w 20
測試: 在物理機(jī)上,刷新9次這個(gè)鏈接:http://192.168.1.63/
# 一共9次連接, xuegod62:xuegod64 是 1:2 關(guān)系。 說明權(quán)重越大,獲得的連接說越多。
例2:如果一個(gè)real server 的權(quán)重是0,將不再分配給他客戶端的請求
[root@xuegod63 ~]# ipvsadm -C
[root@xuegod63 ~]# ipvsadm -A -t 192.168.1.63:80 -s wrr
[root@xuegod63 ~]# ipvsadm -a -t 192.168.1.63:80 -r 192.168.1.62 -g -w 0
[root@xuegod63 ~]# ipvsadm -a -t 192.168.1.63:80 -r 192.168.1.64 -g -w 20
在物理機(jī)上,刷新9次這個(gè)鏈接:http://192.168.1.63/
查看:
#發(fā)現(xiàn)進(jìn)來的包是有的,但是出去的包為0.有 0是因?yàn)閿?shù)據(jù)包出去時(shí),直接交給了real server,而沒有交給Director
ipvsadm 更多參數(shù)說明 | |
參數(shù) | 說明 |
-A –add-service | 在內(nèi)核的虛擬服務(wù)器表中添加一條新的虛擬服務(wù)器記錄。也 |
-E –edit-service | 編輯內(nèi)核虛擬服務(wù)器表中的一條虛擬服務(wù)器記錄。 |
-D –delete-service | 刪除內(nèi)核虛擬服務(wù)器表中的一條虛擬服務(wù)器記錄。 |
-C –clear | 清除內(nèi)核虛擬服務(wù)器表中的所有記錄。 |
-R –restore | 恢復(fù)虛擬服務(wù)器規(guī)則 |
-S –save | 保存虛擬服務(wù)器規(guī)則,輸出為-R 選項(xiàng)可讀的格式 |
-a –add-server | 在內(nèi)核虛擬服務(wù)器表的一條記錄里添加一條新的真實(shí)服務(wù)器記錄。也就是在一個(gè)虛擬服務(wù)器中增加一臺(tái)新的真實(shí)服務(wù)器 |
-e –edit-server | 編輯一條虛擬服務(wù)器記錄中的某條真實(shí)服務(wù)器記錄 |
-d –delete-server | 刪除一條虛擬服務(wù)器記錄中的某條真實(shí)服務(wù)器記錄 |
-L|-l –list | 顯示內(nèi)核虛擬服務(wù)器表 |
-Z –zero | 虛擬服務(wù)表計(jì)數(shù)器清零(清空當(dāng)前的連接數(shù)量等) |
–set tcp tcpfin udp | 設(shè)置連接超時(shí)值 |
–start-daemon | 啟動(dòng)同步守護(hù)進(jìn)程。他后面可以是master 或backup,用來說明LVS Router 是master 或是backup。在這個(gè)功能上也可以采用keepalived 的VRRP 功能。 |
–stop-daemon | 停止同步守護(hù)進(jìn)程 |
-h –help | 顯示幫助信息 |
-t –tcp-service service-address | 說明虛擬服務(wù)器提供的是tcp 的服務(wù) |
-u –udp-service service-address | 說明虛擬服務(wù)器提供的是udp 的服務(wù) |
-f –fwmark-service fwmark | 說明是經(jīng)過iptables 標(biāo)記過的服務(wù)類型。 |
-s –scheduler scheduler | 使用的調(diào)度算法,有這樣幾個(gè)選項(xiàng)rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq,默認(rèn)的調(diào)度算法是: wlc. |
-p –persistent [timeout] | 持久穩(wěn)固的服務(wù)。這個(gè)選項(xiàng)的意思是來自同一個(gè)客 |
-r –real-server server-address | 真實(shí)的服務(wù)器[Real-Server:port] |
-g –gatewaying | 指定LVS 的工作模式為直接路由模式(也是LVS 默認(rèn)的模式) |
-i –ipip | 指定LVS 的工作模式為隧道模式 |
-m –masquerading | 指定LVS 的工作模式為NAT 模式 |
-w –weight weight | 真實(shí)服務(wù)器的權(quán)值 |
–mcast-interface interface | 指定組播的同步接口 |
-c –connection | 顯示LVS 目前的連接 如:ipvsadm -L -c |
–t timeout | 顯示tcp tcpfin udp 的timeout 值 如:ipvsadm -L –timeout |
–daemon | 顯示同步守護(hù)進(jìn)程狀態(tài) |
–stats | 顯示統(tǒng)計(jì)信息 |
–rate | 顯示速率信息 |
-n –numeric | 輸出IP 地址和端口的數(shù)字形式 |
–sort | 對虛擬服務(wù)器和真實(shí)服務(wù)器排序輸出 |
-L -n | 查看規(guī)則,顯示內(nèi)核虛擬服務(wù)器表 |
-L -n -c | 查看客戶端連接分發(fā)器和real server 的情況 |
例1:查看客戶端連接分發(fā)器和real server 的情況
例2:查看速率
例3:-Z --zero 虛擬服務(wù)表計(jì)數(shù)器清零(清空當(dāng)前的連接數(shù)量等)
例4:刪除一條記錄
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
實(shí)戰(zhàn): 同時(shí)處理1000個(gè)請求。 一次要執(zhí)行1000個(gè)并發(fā)請求
Linu下的ab網(wǎng)站壓力測試命令參數(shù)詳解 | |
格式 | ./ab [options] [http://]hostname[:port]/path |
參數(shù) | 作用 |
-c | 在測試會(huì)話中所執(zhí)行的請求個(gè)數(shù)。默認(rèn)時(shí),僅執(zhí)行一個(gè)請求 |
-t | 一次產(chǎn)生的請求個(gè)數(shù)。默認(rèn)是一次一個(gè) |
-p | 測試所進(jìn)行的大秒數(shù) |
-T | 包含了需要POST的數(shù)據(jù)的文件. |
-v | POST數(shù)據(jù)所使用的Content-type頭信息 |
-V | 設(shè)置顯示信息的詳細(xì)程度 |
-w | 顯示版本號并退出。 |
-i | 以HTML表的格式輸出結(jié)果。默認(rèn)時(shí),它是白色背景的兩列寬度的一張表。 |
-C | 以HTML表的格式輸出結(jié)果。默認(rèn)時(shí),它是白色背景的兩列寬度的一張表。 |
-P | 對一個(gè)中轉(zhuǎn)代理提供BASIC認(rèn)證信任。用戶名和密碼由一個(gè):隔開,并以base64編碼形式發(fā)送。無論服務(wù)器是否需要(即, 是否發(fā)送了401認(rèn)證需求代碼),此字符串都會(huì)被發(fā)送 |
-n | 在測試會(huì)話中所執(zhí)行的請求總個(gè)數(shù)。默認(rèn)時(shí),僅執(zhí)行一個(gè)請求 |
語法: ab -n 數(shù)字 -c 數(shù)字 http://鏈接
-n requests Number of requests to perform
#在測試會(huì)話中所執(zhí)行的請求總個(gè)數(shù)。默認(rèn)時(shí),僅執(zhí)行一個(gè)請求
-c concurrency Number of multiple requests to make #一次產(chǎn)生的請求個(gè)數(shù)。默認(rèn)是一次一個(gè)。
實(shí)戰(zhàn): 同時(shí)處理1000個(gè)請求。 一次要執(zhí)行1000個(gè)并發(fā)請求。
在xuegod64:測試VIP:
[root@xuegod64 ~]# ab -n 1000 -c 1000 http://192.168.1.63/index.html
linux下ab網(wǎng)站壓力測試命令
[root@xuegod63 ~]# ab -n 1000 -c 1000 http://192.168.1.63/index.html
可以測試一下后面兩機(jī)器的負(fù)載情況。
查看狀態(tài):
[root@xuegod63 ~]# ab -n 1000 -c 1000 http://192.168.1.63/index.html
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 192.168.1.63 (be patient 耐心)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed630 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests #完成1000個(gè)請求
ServerSoftware: Apache/2.2.15 #被測試的httpd服務(wù)器版本://平臺(tái)apache 版本2.2.15
ServerHostname: 192.168.1.63#服務(wù)器主機(jī)名
ServerPort: 80#服務(wù)器端口
Document Path: /index.html#測試的頁面文檔
Document Length: 13 bytes #文檔大小
【說明:在xuegod62查看index.html大小。確實(shí)是13字節(jié)
[root@xuegod62 html]# ll -h
-rw-r--r-- 1 root root 13 May 5 17:57 index.html】
Concurrency(并發(fā)) Level: 1000#并發(fā)數(shù)
Time taken for tests: 2.166 seconds#整個(gè)測試花費(fèi)的時(shí)間
Complete requests: 1000#完成的請求數(shù)量
Failed requests: 0 #失敗的請求數(shù)量
Write errors: 0
Total transferred: 281120 bytes#整個(gè)測試過程中總傳輸字節(jié)數(shù)
HTML transferred: 13052 bytes#整個(gè)場景中的HTML內(nèi)容傳輸量
Requests per second: 461.77 [#/sec] (mean)#每秒處理請求數(shù)。//大家最關(guān)心的指標(biāo)一,相當(dāng)于服務(wù)器中的每秒事務(wù)數(shù) ,后面括號中的 mean 表示這是一個(gè)平均值
Time per request: 2165.597 [ms] (mean)# 大家最關(guān)心的指標(biāo)二,平均請求響應(yīng)時(shí)間 ,后面括號中的 mean 表示這是一個(gè)平均值
Time per request: 2.166 [ms] (mean, across all concurrent requests)#每個(gè)請求的時(shí)間:2.166[毫秒](意思是說,在所有的并發(fā)請求) //每個(gè)請求實(shí)際運(yùn)行時(shí)間的平均值。 由于對于并發(fā)請求,cpu實(shí)際上并不是同時(shí)處理的,而是按照每個(gè)請求獲得的時(shí)間片逐個(gè)輪轉(zhuǎn)處理的,所以基本上第一個(gè)Time per request時(shí)間約等于第二個(gè)Time per request時(shí)間乘以并發(fā)請求數(shù)
Transfer rate: 126.77 [Kbytes/sec] received #傳輸速率://平均每秒網(wǎng)絡(luò)上的流量,可以幫助排除是否存在網(wǎng)絡(luò)流量過大導(dǎo)致響應(yīng)時(shí)間延長的問題
Percentage of the requests served within a certain time (ms) #在一定的時(shí)間內(nèi)提供服務(wù)的請求的百分比(毫秒)
50% 581
66% 1053
75% 1075
80% 1089
90% 1393
95% 1793
98% 1800
99% 1804
100% 1807 (longest request)
//整個(gè)場景中所有請求的響應(yīng)情況。在場景中每個(gè)請求都有一個(gè)響應(yīng)時(shí)間,其中50%的用戶響應(yīng)時(shí)間小于1093 毫秒,60%的用戶響應(yīng)時(shí)間小于1247 毫秒,大的響應(yīng)時(shí)間小于7785 毫秒
看了以上關(guān)于如何使用LVS+DR來搭建集群實(shí)現(xiàn)負(fù)載均衡,如果大家還有什么地方需要了解的可以在創(chuàng)新互聯(lián)行業(yè)資訊里查找自己感興趣的或者找我們的專業(yè)技術(shù)工程師解答的,創(chuàng)新互聯(lián)技術(shù)工程師在行業(yè)內(nèi)擁有十幾年的經(jīng)驗(yàn)了。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當(dāng)前名稱:如何使用LVS+DR來搭建集群實(shí)現(xiàn)負(fù)載均衡-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://www.rwnh.cn/article28/epecp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、虛擬主機(jī)、網(wǎng)站內(nèi)鏈、App設(shè)計(jì)、企業(yè)網(wǎng)站制作、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容