- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux环境并发服务器设计技术研究(论文资料),linux高并发服务器,linux并发服务器,linux网络服务器论文,linux服务器环境搭建,linux服务器环境,并发量5000所需服务器,单台服务器并发连接数,高并发服务器,服务器并发量
第 21卷第5期 成 邪 信 息 工 程 学 院 学 报 VoI2lN 【】.5
2006 f=:10月 JOURNAIOF(、HEN(il)UUNIVERSITYOE1Nlq)RMA1’ION IECHN()I』)(;Y ()(’t.2006
文章编号:1671一I742(2006)05—063005
Linux环境并发服务器设计技术研究
刘仕筠, 盛志伟, 黄 健
(成都信息工程学院,四川成都 610225)
摘要:讲述许发服务器设计的主要技术,包括多进程服务器、多线程服务器和 1/O复用服务器,同时对以上服
务器技术的性能进行_r简要分析,给出了在Linux操作系统下使用 t实现并发服务器的方法。
关 键 词:并发服务器;多进程 ;多线程;1/O复用
中图分类号:TP316.81 文献标识码:A
引言
网络服务器是网络软件的核 、部分,Linux由于其源码开放,性能稳定,所以在服务器市场中占有的份额越
来越多,许多经典的服务器(如WEB服务器)都使用 Linux系统。随着网络应用的不断增多,服务器的服务类型
也不断增多,而且性能要求越来越高,开发高性能的网络服务器是大势所趋。服务器设计技术有很多,按使用的
协议来分有TCP服务器和UDP服务器。按处理方式来分有迭代服务器和并发服务器。一个好的服务器,一般
都是并发服务器。并发服务器设计技术一般有:多进程服务器、多线程服务器、I/O复用服务器等。下面,给出了
这 3种并发服务器的设计与实现。
1 多进程并发服务器
在Linux环境下多进程的应用很多,其中最主要的就是网络 /客户服务器。但是在电信、金融等数据量和稳
定性要求都比较高的环境中,也会涉及到多进程的应用。多进程服务器是当客户有请求时,服务器用一个子进程
来处理客户请求。父进程继续等待其它客户的请求。这种方法的优点是当客户有请求时,服务器能及时处理客
户,特别是在客户服务器交互系统中。对于一个TCP服务器,客户与服务器的连接可能并不马上关闭,可能会等
到客户提交某些数据后再关闭,这段时间服务器端的进程会阻塞,所以这时操作系统可能凋度其它客户服务进
程。比起迭代服务器大大提高了服务性能。
1.1 多进程服务器传统方法
多进程服务器设计方法也很多,传统方法是父进程进行监听(TCP服务器),当有连接到达时,生成一个子进
程处理客户请求,之后父进程继续监听。所以有时把父进程称为监听进程。其模板如下:
intmain(void)
{listen(1istenfd,BACKLOG); /*listenfd是监听套接字*/
while(1){
if ((connfd=accept(~,ckfd,NULL,NULI))== 一1) {
/*错误处理 */
}
if((pid= fork())0){
close(connfd); /*父进程关闭客户连接套接字 */
收稿Et期:2006—02.21
第5期 刘仕筠等:Linux环境并发服务器设计技术研究 63l
i
elseif(pid==0) {
close(1istenfd); /*子进程关闭监听套接字 */
… … /*处理客户请求*/
close(connfd);
exit(0);
}
程序需特别注意的地方是父进程要关闭连接套接字,子进程要关闭监听套接字。因为fork以后,子进程是
父进程的一个复制品,它们都有监听套接字和连接套接字 如果父进程不关闭连接套接字,当子进程关闭连接套
接字时,这个套接字并不会关闭,因为每个套接字描述符郁有一个 “引用计数”。当fork函数返回后 ,listefd和
connfd的引用计数变为2,而系统只有在描述符的 “引用计数”为0时,才真正关闭该描述符。子程序退出后,还
有一些状态信息留给父进程,父进程应调用waitpid函数滴埋子进程,因为子进程终止后,它变为一个僵尸进程,
父进程如果不清理僵尸进程,随着客户终止数 目的增多,僭尸进程越来越多,将耗掉系统资源。清理僵尸进程的
一 般方法是:让父进程收到SIGCHLD号
您可能关注的文档
- HPLC测定硫酸沙丁胺醇雾化吸入溶液有关物质方法的研究(论文资料).pdf
- HPV分型检测在宫颈癌前病变筛查中的应用价值(论文资料).pdf
- HPV感染与宫颈病变的关系探讨(论文资料).pdf
- HP感染性胃炎的中药治疗及实验研究进展(论文资料).pdf
- HRA疾病早期筛查系统(论文资料).pdf
- HR必备法律知识及风险防控——深度剖析与案例解析人力资源实务操作培训班(论文资料).pdf
- HTML+CSS网页设计与布局从入门到精通(论文资料).pdf
- HR视角下的雇主品牌建设_陈强(论文资料).pdf
- h_GPS与水下定位系统的研究(论文资料).pdf
- IBM英特尔微软在中国的研究与开发活动(论文资料).pdf
- 2025年8月 在全市防汛工作视频会议上的讲话.docx
- 在2025年市委常委班子集中整治问题整改工作专题会议上的讲话+党课:以过硬作风护航高质量发展以实干担当书写新时代“赶考”答卷.pdf
- 国有企业2025年在“贯彻党中央决策部署和国企改革要求方面、全面从严治党责任落实方面、基层党组织建设方面、巡察整改长效机制建设四个方面”巡察整改专题民主生活会存在的原因分析.docx
- 2篇 2025年在四届区委第十三轮巡察动员部署会议上的讲话.pdf
- 在理论学习中心组巡视整改专题学习研讨会议上的讲话+在省委巡视反馈问题整改部署会上的讲话+工作领导小组会议上的讲话.pdf
- 2篇 2025年在四届区委第十三轮巡察动员部署会议上的讲话.docx
- 2025年国企理论学习中心组巡视巡察专题民主生活会会前学习研讨+(2025年四个方面)巡察整改专题民主生活会个人发言提纲.docx
- 局党组、宣传部、纪委监委关于2025年上半年意识形态工作总结及2025年下半年工作打算.pdf
- 4篇 2025年在学习贯彻《中华人民共和国监察法实施条例》研讨交流会上的发言.pdf
- 在市委理论学习中心组中央城市工作会议精神专题学习研讨会上的发言.+关于传达中央城市工作会议精神的讲话提纲.docx
文档评论(0)