论文部分内容阅读
集群技术是使用一定的拓扑结构将计算机组织起来高效地完成特定任务的技术。近年来互联网业务高速发展,高并发请求给服务器带来了空前的压力,而负载均衡集群技术成为解决高并发问题的重要方案。负载均衡是指通过有效的网络结构,使用合理的调度算法,将负载均匀分配给集群中的服务器节点。Linux虚拟服务器(Linux Virtual Server,简称LVS)作为国内优秀的开源负载均衡软件,以其优良的性能和灵活的使用方式成为十分受欢迎的负载均衡解决方案。但随着互联网服务需求不断增长,LVS中的负载调度算法逐渐不能满足网络需求,在持续不断的高并发环境中,LVS集群中的负载可能会不均衡,导致集群服务质量下降。因此提高LVS负载调度算法的性能、均衡集群负载十分必要。本文首先对集群和负载均衡技术进行全面介绍,然后分析LVS的体系结构,阐述LVS中IPVS、KTCPVS两个模块的实现原理,比较LVS的四种负载均衡模式的处理请求的差异及十种负载调度算法的性能差异,进而总结LVS现有调度算法的不足之处。在以上工作的基础上,本文对一致性哈希算法进行研究,利用其在负载调度方面的优势,提出一种适应Web高并发环境的动态负载均衡算法——DCH(Dynamic Consistent Hashing)。在DCH算法中主要做了以下设计:周期性地监控集群中各台服务器的状态;综合服务器CPU、内存及磁盘I/O的性能来量化服务器性能,改善LVS内置调度算法对服务器性能的评估依赖于管理员主观设定权值的不足;综合服务器CPU、内存及磁盘I/O的占用率来量化负载,改善LVS内置调度算法依赖连接数来衡量负载高低的不足;通过量化的性能和负载计算虚拟节点的数目来衡量服务器的实时处理请求能力,周期性地调整各台服务器的请求分配概率,以达到良好的负载均衡效果。另外,本文还对DCH算法在LVS中的实现进行了完整的阐述。在本文的实验部分,首先确定集群达到最大吞吐量时DCH算法的基准虚拟节点数目n及周期T这两个重要参数,然后测试使用DCH算法时集群的请求响应时间、最大吞吐量和容错能力,并与LVS内置算法WRR、WLC进行比较。实验表明,DCH算法缩短了集群响应时间,提升了集群最大吞吐量,具有更好的负载均衡效果和容错能力。