欢迎来到天天文库
浏览记录
ID:37397538
大小:6.61 MB
页数:69页
时间:2019-05-23
《高性能服务器计算框架的研究与设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、高性能服务器计算框架的研究与设计作者:寺旨导教师:郭庆涛郑滔教授南京大学研究生毕业论文(申请工学硕士学位)南京大学软件学院2011年5月TheResearchandDesignofHighPerformanceServerFrameworkGUO,QingtaoSubmittedinpartialfulfillmentoftherequirementsforthedegreeofMasterofEngineeringSupervisedbyProfessorZHENG,TaoSoftwareInstituteNANJINGUNIVERSlTYNanjing
2、,China一一,May,2011摘要随着互联网的高速发展,在互联网上购物、娱乐、休闲、与人交流、搜索信息已经成为人们日常生活的重要组成部分;企业也开始把他们与顾客和业务伙伴之间的联络转移到互联网上,通过网络来完成交易,建立与客户之间的联系。互联网的用户数和流量正以几何级数增长,海量的用户连接和数据对网络后台的服务器提出了严峻的挑战。随着用户的急剧增长,互联网应用或者Web站点开始不能及时处理用户的请求,导致用户进行长时间的等待,大大降低了服务质量。互联网环境的变化,硬件体系的多核进化,TCP协议中的一些实现理念开始显得陈旧,甚至限制了现有的互联网应用性能
3、的提升。目前国内外的服务器开发框架仍未能将这些关键因素考虑入内,而服务器的性能短板却往往集中在网络IO效率以及海量连接的维护上。本文提出了一个新的轻量级的高性能服务器开发框架LHP.Svrframe,用以构建服务于海量连接和数据的互联网应用服务器。除了一个普通的服务器开发框架的应该提供的模块之外,例如基本的网络通讯管理、自定义应用层协议开发以及服务器进程处理模型等,LHP.Svrframe还提供了如下额外的优化设计。首先,LHP.Svrframe针对多核处理器的架构特点,提供了一个网卡数据中断信号压力平摊的模块,使海量网络请求达到所产生的处理压力可以较为平
4、均地分摊在处理器的每个核上面,而不是像之前只有一个处理器核进行处理而闲置了其他核的计算力。其次,我们通过对TCP的拥塞窗1:3、Nagle算法和延时ACK机制的调整、实验和优化,总结出适应当今互联网整体环境的实验值和协议栈调整的方式,然后通过API的形式提供给开发人员,使得服务器能够更加有效率地利用可用的带宽,提升服务器的吞吐量。最后,LHP.Svrframe还提供了一个基于多进程的半同步.半异步处理模型的改良设计,使开发人员可以更好地利用多核处理器的优势,并且可以可选的CPU亲缘性设计避免了进程在多个处理器核之间频繁切换而导致的“Cacheline—pi
5、ngpong"现象。本文最后基于LHP.Svrframe开发了一个高性能网络服务器BRSvr,并且通过大量的服务器性能压力测试实验证明,使用LHP.Svrframe构建的服务器的性能明显优于其他框架和现有的服务器。关键词:海量连接,海量数据,高性能服务器框架,TCP协议栈优化AbstractWiththerapiddevelopmentoftheInternet,shopping,communicatingandentertainmentontheInternethasbeenbecominganimportantpartofdailylife;compa
6、nieshavebeguntoputtheirbusinessontheInternet,andtobetterservethecustomersthroughtheonlineapplications.Therefore,thegrowingnumberoftheInternetusersandapplicationsisgeneratingmuchmorepressureonthebackendserver.Thenetworkserverisfacingaseverechallengenow.Massiveuserconnectionsandmass
7、ivedataIOkeeptheserverfromwellprocessingeveryuserrequestinatimelymanner,greatlyreducingthequalityoftheInternetservice.TheInternetuserssometimeshavetowaitalongtimetogetwhattheywant.ChangesinthewholeInternetenvironment,theevolutionofmulti—corehardwaresystem,someoldfashionofTCPprotoc
8、olimplementation⋯allofthesehasbeg
此文档下载收益归作者所有