Linux下高并发Socket连接的优化

1、打开文件优化

#对当前shell ulimit -n 102400 echo “ulimit -n 102400″ >> ~/.bashrc

#针对所有用户 sudo vim /etc/security/limits.conf * soft nofile 102400 * hard nofile 102400

#针对系统 cat /proc/sys/fs/file-max echo 1024000 > /proc/sys/fs/file-max 2、修改网络内核对TCP的限制

#修改内核网络参数 sudo vim /etc/sysctl.conf net.ipv4.ip_local_port_range = 1024 65000 net.ipv4.ip_conntrack_max = 10240 #生效 sudo sysctl -p 3、两个回收 #修改内核网络参数 sudo vim /etc/sysctl.conf net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 #生效 sudo sysctl -p

[内核调优] 关于net.ipv4.tcp_max_syn_backlog内核参数 net.ipv4.tcp_max_syn_backlog参数决定了SYN_RECV状态队列的数量,一般默认值为512或者1024,即超过这个数量,系统将不再接受新的TCP连接请求,一定程度上可以防止系统资源耗尽。可根据情况增加该值以接受更多的连接请求。

小黑 17:43:45 这个就是你说的tcp支持的队列数,tcp 连接超过这个队列长度,就不允许连接了。

小黑 17:44:51 cat /proc/sys/net/ipv4/tcp_max_syn_backlog 1024 ,centos默认是1024。

小黑 17:52:50 可以修改/etc/sysctl.conf去调整它。 net.ipv4.tcp_max_syn_backlog = 2048

小黑 17:53:19 改完后执行sysctl -p 让修改立即生效。

原文发布于微信公众号 - 马哥Linux运维(magedu-Linux)

原文发表时间:2014-07-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏debugeeker的专栏

《coredump问题原理探究》windows版第二章coredump捕获环境配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/detai...

9210
来自专栏俗人笔记

Bootstrap模态框相关操作配置

13840
来自专栏JMCui

Hybris商品图片导入与压缩有关的配置

1.   在电脑上安装 ImageMagick 软件(windows平台还需要安装VC++),下载路径:http://www.imagemagick.org/s...

37050
来自专栏用户画像

MAC使用pip安装Tensorflow

官网英文版安装教程:https://www.tensorflow.org/install/install_mac#common_installation_pro...

9720
来自专栏Golang语言社区

在Go中对gRPC+ProtoBuf与Http+Json进行基准测试

服务之间通信的最简单的解决方案是使用JSON over HTTP。尽管JSON具有许多明显的优点(比如它具有很好的可读性,易于理解,且通常性能良好),但它还是有...

84680
来自专栏CreateAMind

WGAN 代码测试

对 keras : tensorflow https://github.com/tdeboissiere/DeepLearningImplementations...

11130
来自专栏杨逸轩 ' sBlog

Typecho如何利用自定义页面,随机显示(跳转到)一篇文章

16480
来自专栏debugeeker的专栏

《coredump问题原理探究》windows版9.1节栈溢出

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/detai...

9420
来自专栏陈纪庚

知识总结

这样,你点下a标签后,就会下载该图片,并且该图片名为thisismyname.jpg

9510
来自专栏后端技术探索

nginx 直接在配置文章中设置日志分割

直接在nginx配置文件中,配置日志循环,而不需使用logrotate或配置cron任务。需要使用到$time_iso8601 内嵌变量来获取时间。$time_...

19210

扫码关注云+社区

领取腾讯云代金券