linux 单线程io上限,Linux下解决高并发socket最大连接数所受的各种限制(解除IO限制)...

linux作为服务器系统,当运行高并发TCP程序时,通常会出现连接建立到一定个数后不能再建立连接的情况

本人在工作时,测试高并发tcp程序(GPS服务器端程序),多次测试,发现每次连接建立到3800左右时,再也不能建立tcp连接,最总上网搜索,参考:http://blog.csdn.net/guowake/article/details/6615728解决了连接限制的问题,此处记录下来,方便日后工作继续使用,虽然参考博文中内容有点多,文中所描述的内容也不怎么明白,但总结下来,按如下几步操作即可(我映像中,按此方法设置后,测试建立连接8000多时也未出现什么错误) :

第一步,修改/etc/security/limits.conf文件,在文件中添加如下行(*指代系统用户名),修改Linux系统对用户的关于打开文件数的软限制和硬限制:

* soft nofile 20000

* hard nofile 20000

第二步,修改/etc/pam.d/login文件,在文件中添加如下行:

session required /lib/security/pam_limits.so

如果是64bit系统的话,应该为 :

session required /lib64/security/pam_limits.so

第三步,修改/etc/sysctl.conf文件,在文件中(清楚文件原始内容)添加如下行(修改网络内核对TCP连接的有关限制):

net.ipv4.ip_local_port_range =

net.core.rmem_max=

net.core.wmem_max=

net.ipv4.tcp_rmem=

net.ipv4.tcp_wmem=

net.ipv4.tcp_fin_timeout =

net.ipv4.tcp_tw_recycle =

net.ipv4.tcp_timestamps =

net.ipv4.tcp_window_scaling =

net.ipv4.tcp_sack =

net.core.netdev_max_backlog =

net.ipv4.tcp_no_metrics_save=

net.core.somaxconn =

net.ipv4.tcp_syncookies =

net.ipv4.tcp_max_orphans =

net.ipv4.tcp_max_syn_backlog =

net.ipv4.tcp_synack_retries =

net.ipv4.tcp_syn_retries =

第四步,执行如下命令(使上述设置生效):

/sbin/sysctl -p /etc/sysctl.conf

/sbin/sysctl -w net.ipv4.route.flush=

第五步,执行如下命令(linux系统优化完网络必须调高系统允许打开的文件数才能支持大的并发,默认1024是远远不够的):

echo ulimit -HSn >> /etc/rc.local

echo ulimit -HSn >>/root/.bash_profile

ulimit -HSn

第六步,重启机器。

Linux下解决高并发socket最大连接数限制,tcp默认1024个连接

linux作为服务器系统,当socket运行高并发TCP程序时,通常会出现连接建立到一定个数后不能再建立连接的情况 本人在工作时,测试高并发tcp程序(GPS服务器端程序),多次测试,发现每次连接建立 ...

实战解读丨Linux下实现高并发socket最大连接数的配置方法

摘要:Linux操作系统,无论是编写客户端程序还是服务端程序,在高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制. [诉求场景] Linux操作系统,无论是编写 ...

Linux下高并发socket最大连接数所受的各种限制(详解)

1.修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每 ...

[转载] Linux下高并发socket最大连接数所受的各种限制

原文: http://mp.weixin.qq.com/s?__biz=MzAwNjMxNjQzNA==&mid=207772333&idx=1&sn=cfc8aadb422f ...

Linux下高并发socket最大连接数所受的各种限制

http://blog.csdn.net/guowake/article/details/6615728 1.修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行 ...

Linux下高并发socket最大连接数所受的各种限制(转)

1.修改用户进程可打开文件数限制在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个 ...

教你修改Linux下高并发socket最大连接数所受的各种限制

1.修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开 文件数量的限制(这是因为系统为 ...

Linux下高并发socket最大连接数

http://soft.chinabyte.com/os/285/12349285.shtml (转载时原文内容做个修改) 1.修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是 ...

Linux下高并发socket最大连接数各种限制的调优

1.修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每 ...

随机推荐

Unity CombineChildren和MeshCombineUtility

原理 Unity3D如何通过CombineChildren和MeshCombineUtility优化场景? 首先解释下联结的原理和意思:文档里说,显卡对于一个含100个面片的物体的和含1500个面片的 ...

centos6 自启动任务

tag: init upstart centos6.x 自启动 initctl event CentOS6开始转用Upstart代替以往的init.d/rcX.d的线性启动方式.upstart的概念就 ...

WCF分布式开发步步为赢(5)服务契约与操作重载

继上一节WCF分布式开发步步为赢系列的(4):WCF服务可靠性传输配置与编程开发,本节我们继续学习WCF分布式开发步步为赢的第(5)节:服务契约与操作重载.这里我们首先讲解OOP面向对象的编程中方法重 ...

再谈 retain,copy,mutableCopy(官方SDK,声明NSString都用copy非retain)

之前一直以为retain就是简单的计数器+1,copy就是重新开辟内存复制对象: 其实不是这样,原来之前的自己独自徘徊于糊涂之中. (官方SDK,对NSString属性的定义都是用copy,而不是re ...

linux下删除内核

一.概述 笔者的Ubuntu系统刚安装成功后,就不知道怎么会有多个内核,但实际上默认运行的只有一个.在grub启动界面多余的启动项和多余内核占用的存储空间迫使我产生了铲除多余内核的冲动. 最近,自己从 ...

电子工程师名片——FAT16文件系统

从8月8号开始,连续一个月利用每天下班时间和周末的时间终于初步完成了一个电子工程师的电路板名片,就像U盘一样,不过这个FLASH只有64KB的大小,用的单片机是C8051F320,是一个USB型的单片 ...

ural1424 Minibus

Minibus Time limit: 1.0 secondMemory limit: 64 MB Background Minibus driver Sergey A. Greedson has b ...

ChatterBot之linux下安装mongodb 02

当前环境 :centos 6.9 mongodb版本 mongodb-linux-x86_64-3.4.4.tgz 使用链接工具:studio-3t-x64.msi.zip 首先我们先来安装mongo ...

[HNOI 2003]激光炸弹

Description 一种新型的激光炸弹,可以摧毁一个边长为R的正方形内的所有的目标.现在地图上有n个目标,用整数,表示目标在地图上的位置,每个目标都有一个价值.激光炸弹的投放是通过卫星定位的,但其 ...

mysql 编码问题

有时候insert数据的时候,会报以下异常: ERROR 1366 (HY000): Incorrect string value: '\xE6\x9D\x83\xE9\x99\x90...' for ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值