蔡志宏臺灣大學:電信工程學研究所柯景中Ke, Ching-ChungChing-ChungKe2007-11-272018-07-052007-11-272018-07-052004http://ntur.lib.ntu.edu.tw//handle/246246/58642由於網際網路的快速成長,使用者們對於網路應用服務的需求隨之大量增加,網路應用伺服器的服務需求也相對應的增加。而快速增加的網路應用服務需求並非等比例分佈到所有網路應用伺服器上。以WWW為例,熱門的網站每日增加的網路服務需求常常遠大於網路交通平均增加的速率。應此,提供足量, 具有良好品質的服務便是網路服務提供者的一大挑戰。由於單一伺服器之硬體有其效能上限,平行運算之概念很自然的可以應用在提供大量的網路應用服務,即運用多台的伺服器,以叢集伺服器之形式,提供對使用者而言與使用單一伺服器時相同的服務。 一般而言,叢集伺服器技術包含伺服器負載平衡與容錯兩大議題。本論文主要探討伺服器負載平衡之部分。伺服器負載平衡,即為了有效的運用叢集伺服器中運算及儲存之資源,使得整個叢集伺服器可以提供更多的網路應用服務而發展出來之技術議題。傳統上的負載平衡技術主要專注在較低協定層的負載平衡,而負載平衡器依據網路封包(IP packet)的標頭(header)分散服務需求。而較新的技術則是依據服務需求的內容來分級,用以分散服務需求至各伺服器。此種負載平衡的好處是可以提供差異化網路服務,以及允釵曭A器端的資料可以不必完全複製。然而在傳統網路技術及經驗上,依據網路封包的內容(content)來分送需求時,容易使負載平衡器成為效能瓶頸,而有效能不彰的缺點。因此,實有必要研究一套具有可擴充性之負載平衡架構以解決此一問題。 本論文乃因此研究在WWW應用上,建立一套階層式負載平衡系統以有效得提供大量且具有服務品質保障的網頁瀏覽服務,而且負載平衡器可依據封包的內容來分送服務需求給伺服器。我們將實做此一系統於Linux的作業平台上,提出一套合理的效能評比標準(utility function)與系統模型。本系統並根據網路應用需求的情形,研究針對不同等級的使用著提供最佳化資源分配,允雩With the fast growing of the Internet traffic and the increasing demand of Internet services, the Internet application servers often need to serve more and more users. However, the dramatic increasing demand is not uniformly distributed to all Internet servers. Taking World-Wide-Web (WWW) for example, the fast increasing service demand often happens to some popular web sites. Thus, the Internet Service Providers (ISP) often face big challenges to provide adequate service to satisfy the increasing demand. Because the state of the art hardware performance of a single server often can not satisfy the service demand, it is naturally to use the concept of parallel processing in the internet application area. Namely, we must adopt the clustering server architecture to provide more service capacity and better quality of service. There are two issues in cluster server research area; the server load balancing issue and the server fault tolerance issue. In this research thesis, we focus on the server load balancing part. The so-called server load balancing is the technique used to efficiently and equally utilize the resources of the cluster server. Traditionally, server load balancing techniques use lower layer (L2 or L3) information to balance the traffic work load among the servers. In recent progress, it is getting popular to distribute the requests based on the contents of the request packets. With the content information, the service provider can provide differentiated services and the web data no longer need to be mirrored in all servers of the server pool. However, the load balancer potentially becomes the bottleneck of the cluster server easily while using traditional content aware server load balancing technique. Therefore, it is essential to investigate feasible solutions to provide scalable server load balancing. Hence, in the thesis, we focus on the scalability issue in the content-aware server load balancing architecture for WWW Internet applications. We implement a system providing differentiated service based on content-aware server load balancing over a Linux platform. We also define a reasonable utility function and a system model used for optimizing the resource allocated to differentiated servers, allowing better service quality to higher priority users.Chapter 1 Introduction…………………..………………….…..1 1.1 Background…………………………………..………………….……1 1.2 Overview of Current Available Server Load Balancing Techniques…3 1.2.1 Server Load Balancing Techniques………………………………………….3 1.2.2 Dispatching Techniques in Dispatcher-Based Approach…………………….6 1.3 Present Approaches of Dispatcher Based Server Load Balancing…...9 1.3.1 Linux Virtual Server……………………………………………………...….9 1.3.2 Content Switch……………………………………………………………..11 1.4 Other Related Work…………………………………………………13 1.5 Research Objective………………………………………………….13 Chapter 2 A Server Load Balancing Framework for Improving Performance of WWW Network Application…………………15 2.1 A Hierarchical Server Load Balancing Framework……………...……..15 2.1.1 Overview of the Architecture………………………………………………15 2.1.2 Implementation of the Content Aware Distributor (CAD)……..………….18 2.1.3 System Modeling and Parameter Measurement…………...……………….21 2.2 The Resource Allocation Problem…………………………………………25 2.2.1 Performance Metrics……………………………………..………………25 2.2.2 Utility Function…………………………………………………………..26 2.2.3 Formulation of the Optimized Resource Allocation Problem……………28 Chapter 3 Experiment Results…………………...……………31 3.1 Experiment Environments……………………..…..………………..31 3.1.1 Experiment Equipments……………………………..……………………..31 3.1.2 Experiment Architectures and Methodologies……….…………………….35 3.2 Differentiated Service Based on Classification by User ID…………...…………………………………………...………………38 3.2.1 Benchmark Results for Test Script with 4000 Requests/sec……….……....40 3.2.2 Benchmark Results for Test Script with700 Requests/sec…………............42 3.3 Differentiated Service Based on Classification by Requested Objects…………………………………………………………..………45 3.3.1 Benchmark Results for Test Script with 4000 Requests/sec………….……46 3.3.2 Benchmark Results for Test Script with 800 Requests/sec………...………48 Chapter 4 HTTP Connection Persistence and Session Persistence.................................................................................52 4.1 The HTTP Connection Persistence Issue………….………………...52 4.2 Support of the HTTP Connection Persistence……………..………..52 4.3 The Session persistence Issue…………………….…………………54 4.3.1 Programmer Pre-definition…………………………………………………55 4.3.2 Cookie-insert……………………………………………………………….55 4.3.3 Cookie learning…………………………………………………………….56 4.4 Support of the Session Persistence in Hierarchical Server Load Balancing ……………………………………………………………….56 4.4.1 The Programmer Pre-definition Method…………………...………………56 4.4.2 Cookie-insert……………………………………………………………….56 Chapter 5 Conclusion and Future Work……………………….59 Appendix: Numerical Data for HSLB Parameter Optimization…………………………………………………..61 References……………………………………………………..67594047 bytesapplication/pdfen-US負載平衡Server Load Balancing叢集伺服器階層式負載平衡之研究Hierarchical Server Load Balancing for Cluster Serversthesishttp://ntur.lib.ntu.edu.tw/bitstream/246246/58642/1/ntu-93-R91942087-1.pdf