欢迎来到天天文库
浏览记录
ID:16747992
大小:28.53 KB
页数:14页
时间:2018-08-24
《linux下高并发socket最大连接数》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Linux下高并发socket最大连接数2012-06-0400:00中国IT实验室佚名.关键字:Linux Linux下高并发socket最大连接数所受的限制问题 1、修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。可使用ulimit命令查看系统允许当前用户进程打开的文件数限制: [speng@as4~]$ulimit-n 1024 这表示当
2、前用户的每个进程最多允许同时打开1024个文件,这1024个文件中还得除去每个进程必然打开的标准输入,标准输出,标准错误,服务器监听socket,进程间通讯的unix域socket等文件,那么剩下的可用于客户端socket连接的文件数就只有大概1024-10=1014个左右。也就是说缺省情况下,基于Linux的通讯程序最多允许同时1014个TCP并发连接。 对于想支持更高数量的TCP并发连接的通讯处理程序,就必须修改Linux对当前用户的进程同时打开的文件数量的软限制(softlimit)和硬限制(hardlimit)。其中软限制是指Linux在当前系统能够承受的范围内进一步限制用户
3、同时打开的文件数;硬限制则是根据系统硬件资源状况(主要是系统内存)计算出来的系统最多可同时打开的文件数量。通常软限制小于或等于硬限制。 修改上述限制的最简单的办法就是使用ulimit命令: [speng@as4~]$ulimit-n 上述命令中,在中指定要设置的单一进程允许打开的最大文件数。如果系统回显类似于otherstaffoftheCentre.Duringthewar,ZhuwastransferredbacktoJiangxi,andDirectorofthenewOfficeinJingdezhen,JiangxiCommitteeSecretary.Starting
4、in1939servedasrecorderoftheWestNorthOrganization,SecretaryoftheSpecialCommitteeAfterthevictoryofthelongMarch,hehasbeentheNorthwestOfficeoftheFederationofStateenterprisesMinister,ShenmufuguSARmissions,DirectorofNingxiaCountypartyCommitteeSecretaryandrecorderoftheCountypartyCommitteeSecretary,Mini
5、stersand"Operationnotpermitted"之类的话,说明上述限制修改失败,实际上是因为在中指定的数值超过了Linux系统对该用户打开文件数的软限制或硬限制。因此,就需要修改Linux系统对用户的关于打开文件数的软限制和硬限制。 第一步,修改/etc/security/limits.conf文件,在文件中添加如下行: spengsoftnofile10240 spenghardnofile10240 其中speng指定了要修改哪个用户的打开文件数限制,可用'*'号表示修改所有用户的限制; soft或hard指定要修改软限制还是硬限制;10240则指定了想要修
6、改的新的限制值,即最大打开文件数(请注意软限制值要小于或等于硬限制)。修改完后保存文件。 第二步,修改/etc/pam.d/login文件,在文件中添加如下行: sessionrequired/lib/security/pam_limits.so这是告诉Linux在用户完成系统登录后,应该调用pam_limits.so模块来设置系统对该用户可使用的各种资源数量的最大限制(包括用户可打开的最大文件数限制),而pam_limits.so模块就会从/etc/security/limits.conf文件中读取配置来设置这些限制值。修改完后保存此文件。 第三步,查看Linux系统级的最大打
7、开文件数限制,使用如下命令: [speng@as4~]$cat/proc/sys/fs/file-max 12158 这表明这台Linux系统最多允许同时打开(即包含所有用户打开文件数总和)12158个文件,是Linux系统级硬限制,所有用户级的打开文件数限制都不应超过这个数值。通常这个系统级硬限制是Linux系统在启动时根据系统硬件资源状况计算出来的最佳的最大同时打开文件数限制,如果没有特殊需要,不应该修改此限制,除非想为用户级打开文件
此文档下载收益归作者所有