童強 宋賢鈞
摘要:影響應用服務響應速度的兩個主要因素是網絡瓶頸和服務器性能瓶頸。為了解決瓶頸問題從而提升應用服務的性能,在控制投入的前提下,基于負載均衡、服務器群集技術提出了一套解決方案。
關鍵詞:負載均衡;應用服務;瓶頸
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2012)33-7896-03
隨著信息技術的不斷發(fā)展,人們對網絡與計算機的要求也不斷提高,在要求能夠完成用戶操作請求的基礎上,同時要求各類應用能夠做到較完美的用戶體驗。在各類網絡應用服務中,要做到用戶體驗的要求,除了要做到用戶界面友好、能夠響應用戶請求等基本要求外,還必須保證有較快的響應速度[1]。然而在各類并發(fā)數(shù)量較大、數(shù)據交換量大的應用服務當中,要做到這一點還需要進行合理的網絡和應用服務部署。
1應用服務瓶頸分析
圖1是某企業(yè)應用服務的常規(guī)部署簡化圖。該企業(yè)通過ISP1和ISP2提供的兩條鏈路接入Internent,應用服務器部署在企業(yè)內部,企業(yè)內用戶通過企業(yè)局域網訪問應用服務器,Intertnet用戶通過個人寬帶等方式訪問。由圖1可見,對于企業(yè)內部用戶,影響響應速度的因素包括局域網的性能和應用服務的性能;而對于Internent用戶,除應用服務性能、部分主干網性能的影響外,還取決于網絡總出口兩條鏈路帶寬能否得到有效應用(每個ISP提供的最大帶寬是確定的)。由此可見,影響應用服務響應的主要因素是網絡出口鏈路瓶頸、局域網性能和應用服務性能瓶頸。
2負載均衡解決瓶頸問題
負載均衡(又稱為負載分擔),英文名稱為LoadBalance,核心的意思是將要處理的任務或者操作請求分攤到多個操作單元上進行執(zhí)行,由此提高設備利用率和處理效率[2]。比如:企業(yè)業(yè)務服務器在客戶訪問量巨大時僅靠單一的服務器來處理各項業(yè)務時,可能造成服務器因負荷過重而導致響應速度變慢,但如果把這些處理任務分配在多臺設備上進行,那么每臺設備上承載的任務就較輕,響應速度會加快;大量數(shù)據通過一條鏈路傳輸可能很慢,但是分擔到多條鏈路上傳輸將變快,這就是負載均衡。負載均衡建立在現(xiàn)有網絡結構之上,它提供了一種廉價又有效的方法擴展網絡設備和服務器的帶寬、增加吞吐量、加強網絡數(shù)據處理能力、提高網絡的靈活性和可用性[3]。
2.1服務器性能瓶頸
對于服務器性能瓶頸問題的解決,采用高性能的服務器設備理所當然可以實現(xiàn),但是成本較高;為了節(jié)約成本并得到高性能服務器的快速響應效果,我們基于服務器群集、應用負載均衡技術實現(xiàn)。簡單地說,就是使用多臺普通服務器作為群集的服務器,如圖2所示,假設服務器對外服務的IP地址為61.178.249.80,
就把這個IP作為群集的虛擬IP地址,對于群集的物理服務器,我們配置具體的IP地址為61.178.249.81和61.178.249.82,當用戶訪問時通過群集的虛擬IP地址61.178.249.80訪問,負載均衡會根據各服務器的負載情況來選擇該訪問哪臺服務器。下面以基于.NET的在線考試系統(tǒng)為例,講述主要的實施步驟。因為.NET是基于WINDOWS系列的操作系統(tǒng),因此選用WINDOWSSERVER2003作為服務器的操作系統(tǒng),分別在兩臺服務器操作系統(tǒng)的網絡連接屬性中增加“負載均衡”,并在負載均衡屬性中設置服務器群集虛擬IP地址為負載均衡專用IP地址,然后分別設置兩臺服務器IP地址,在高級選項卡中增加服務器群集虛擬IP地址即可;根據應用系統(tǒng)的運行要求,安裝相應的環(huán)境并進行合理配置,這里是.NET框架和IIS。在LINUX等其他主流的操作系統(tǒng)環(huán)境下也有相應的服務器群集方法。這種單純靠操作系統(tǒng)實現(xiàn)的服務器群集負載均衡方法不需要額外的投入、且操作簡單,當然也可以借助專用的負載均衡器這類硬件設備實現(xiàn),效果更好[4]。
2.2網絡瓶頸
在網絡中,數(shù)據的傳輸鏈路是通過路由選擇的,在不增加額外投入的前提下可根據出口的情況通過配置出口路由器策略路由的方法來均衡各出口鏈路的負載。在出口路由器上配置策略路由時考慮以下幾點:根據往常各網段的網絡流量情況,按照兩個出口帶寬的比例將網段分成網段流量之和比例相近的兩部分,網絡流量總和較小的那部分網段訪問外網時走帶寬較小的鏈路,而另一部分網段走另一條鏈路;根據目標地址所屬運營商走不同的運營商鏈路;添加指向不同鏈路的默認路由,指向帶快較大鏈路的路由優(yōu)先級設置高點。
啟用策略路由后,數(shù)據通過路由轉發(fā)時先根據策略路由來確定下一跳,下一跳可達則執(zhí)行策略路由,由此對鏈路的負載進行了控制;策略路由不可達則查詢路由表;由于有多個出口,指向多個出口的默認路由優(yōu)先級不同,因此即使某條鏈路故障時,另外的鏈路也可正常工作。
提升局域網主干網絡性能可以通過以太網通道來實現(xiàn),以太網通道可以將多條物理鏈路聚合為一條邏輯鏈路,由此可以達到提升網絡帶寬、鏈路負載均衡和冗余備份的效果。具體實施時如圖3所示,分別在核心交換和匯聚交換機上選定三個同類型的端口作為待聚合的端口,配置聚合協(xié)議和負載均衡的方式即可。負載均衡的方式比較靈活,主要有:基于源IP、基于目的IP、基于源-目的IP、基于源端口,基于目的端口,基于源-目的端口等方式,可根據需要靈活選用。
核心和匯聚交換機上主要配置如圖4。
這樣配置后,三條1G帶寬的鏈路相當于1條3G帶寬的,而且可以根據設定的負載均衡方式進行負載均衡,并且當部分鏈路故障時,其他的鏈路可以保障網絡的正常。
2.3使用負載均衡器進行負載均衡
和傳統(tǒng)的基于路由和二、三層交換的網絡設備不同,應用負載均衡器實施的關鍵是對應用的理解,針對具體應用系統(tǒng)的特性來設計和部署。
目前廣泛使用的負載均衡器較多,較高端的如:F5-BIG-IP-LTM、RadwareDefensePro(3020)、ArrayTMX5000等。這類負載均衡器支持多種負載均衡算法,用戶可根據設計需求進行負載均衡策略的設置;此外,還能夠抵御各類影響服務器性能發(fā)揮的攻擊。如RadwareDefensePro3020就具有入侵防范的功能,且支持多條Internent鏈路接入,能夠防護來自多條鏈路的應用層攻擊、DDos攻擊等[4]。這類應用負載均衡器的基本原理如圖5所示。
負載均衡器對外提供一個虛擬的應用服務器,接收所有客戶端的請求,對內通過負載均衡算法將客戶請求轉發(fā)到后臺的多個應用實例,并通過應用健康檢查準確判斷應用程序的工作和服務狀況,一旦發(fā)現(xiàn)服務異常的應用實例則將其從負載均衡的應用服務組中剔除。如F5-BIG-IP應用交換機對服務器作負載均衡是采用基于網絡地址轉換(NAT)的負載均衡技術[4]。
3結束語
經過對使用負載均衡技術前后應用服務的性能測試情況對比發(fā)現(xiàn),使用負載均衡技術后的應用服務性能大大提升,這也充分表明瓶頸問題得到有效緩解。這一應用服務瓶頸解決方案可以在各類應用服務器的部署過程中用于提升網絡可靠性和網絡性能。
然而,網絡的實際情況在不斷變化,有效地選擇最佳路由路徑、避免網絡瓶頸的發(fā)生需要根據變化著的實際的網絡情況來選擇,對于要求較高的應用服務需要使用支持實時探測負載情況、支持多種負載均衡算法的負載均衡器來實現(xiàn)[5]。
參考文獻:
[1]秦琴.運用負載均衡技術來實現(xiàn)網絡優(yōu)化[J].科技資訊,2007,(22).
[2]宋薇薇.群集系統(tǒng)中的幾種負載均衡技術[J].程序員,2002,9.
[3]喻蕓.網絡負載均衡問題的對策和建議[J].科技廣場,2008(3):56-58.
[4]徐昆,夏玉福.基于網管業(yè)務特征的負載均衡策略研究[J].計算機應用研究,2012(3)
[5]宋興彬.集群和負載均衡技術在省級數(shù)據集中的應用研究[J].計算機工程與設計,2009(3):24-25.