`
boisterous
  • 浏览: 62651 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类

linux backlog

阅读更多
  在linux中,/proc/sys/net/core/somaxconn这个参数,
  看下其解析:
  对于一个TCP连接,Server与Client需要通过三次握手来建立网络连接.当三次握手成功后,
  我们可以看到端口的状态由LISTEN转变为ESTABLISHED,接着这条链路上就可以开始传送数据了.
  每一个处于监听(Listen)状态的端口,都有自己的监听队列.监听队列的长度,与如下两方面有关:
  - somaxconn参数.
  - 使用该端口的程序中listen()函数.
  1. 关于somaxconn参数:
  定义了系统中每一个端口最大的监听队列的长度,这是个全局的参数,默认值为1024,具体信息为:
  Purpose:
  Specifies the maximum listen backlog.
  Values:
  Default: 1024 connections
  Range: 0 to MAXSHORT
  Type: Connect
  Diagnosis:
  N/A
  Tuning
  Increase this parameter on busy Web servers to handle peak connection rates.
  看下FREEBSD的解析:
  限制了接收新 TCP 连接侦听队列的大小。对于一个经常处理新连接的高负载 web服务环境来说,默认的 128 太小了。 大多数环境这个值建议增加到 1024 或者更多。 服务进程会自己限制侦听队列的大小(例如 sendmail(8) 或者 Apache), 常常在它们的配置文件中有设置队列大小的选项。大的侦听队列对防止拒绝服务 DoS 攻击也会有所帮助。
分享到:
评论

相关推荐

    Linux kernel tcp 连接建立详解listen_backlog

    tcp协议三次握手,socket连接的参数详细协商过程,主要是对监听过程的分析

    Linux 内核中listen系统调用

    这段代码是 Linux 内核中负责设置 socket 监听状态的 C 函数。 首先定义了一个内核函数 __sys_listen,这个函数是设置 socket 进入监听状态的实际实现。它接受两个参数:`fd` 和 backlog。`fd` 是文件描述符,代表一...

    支持linux百万级并发的参

    echo xxxx >/proc/sys/net/ipv4/tcp_max_syn_backlog echo xxxx >/proc/sys/net/core/somaxconn echo 1200000 > /proc/sys/net/ipv4/tcp_max_tw_buckets echo 7 >/proc/sys/net/ipv4/tcp_retries2

    linux网络编程学习笔记

    backlog:设置请求排队的最大长度.当有多个客户端程序和服务端相连时, 使用这个表示 可以介绍的排队长度. listen函数将 bind 的文件描述符变为监听套接字.返回的情况和 b ind 一样. accept int accept(int ...

    Linux网络编程 Socket UDP形式(包括服务器端和接收端)

    #define BACKLOG 10 main() { int sockfd,new_fd; struct sockaddr_in my_addr; //服务器网络地址结构体 struct sockaddr_in their_addr; //客户端网络地址结构体 int sin_size; if((sockfd=socket(AF_INET,...

    Linux安全之SYN攻击原理及处理

    TCP自从1974年被发明出来之后,历经30多年发展,目前成为重要的互联网基础协议,但TCP协议中也...  由于源IP地址是伪造的不存在主机IP,所以服务器无法收到ACK数据包,并会不断重发,同时backlog队列被不断被攻击的S

    Linux系统如何低于TCP洪水攻击

    net.ipv4.tcp_max_syn_backlog = 200000 #系统允许的文件句柄的大数目,因为连接需要占用文件句柄 fs.file-max = 819200 #用来应对突发的大并发connect 请求 net.core.somaxconn = 65536 #大的TCP 数据接收...

    详解Linux系统如何防止TCP洪水攻击

    net.ipv4.tcp_max_syn_backlog = 200000 #系统允许的文件句柄的最大数目,因为连接需要占用文件句柄 fs.file-max = 819200 #用来应对突发的大并发connect 请求 net.core.somaxconn = 65536 #最大的TCP 数据接收缓冲...

    Redis配置文件代码讲解

    Redis配置文件解析网上都有,这里不赘述了。...tcp-backlog 511 建议调大至2048并同时调大Linux内核参数 /proc/sys/net/core/somaxconn 至2048 GENERAL logfile 建议修改日志的路径 SNAPSHOTTING

    redis配置详解.docx

    redis配置详解;#此参数确定了TCP连接中已完成队列(完成三次握手之后)的长度, 当然此值必须不...tcp-backlog 511 #指定 redis 只接收来自于该 IP 地址的请求,如果不进行设置,那么将处理所有请求 bind 127.0.0.1

    linux内核阅读自己的笔记(用WinOrganizer工具打开)

    对于sk->sk_backlog_rcv的初始化。 ------> int sock_map_fd(struct socket *sock) 将文件节点与套接字联系起来 1.395 struct file *newfile; 396 int fd = sock_alloc_fd(&newfile;); 399 int err = ...

    tinderbox:Gentoo Linux构建机器人

    火种箱目的是检测Gentoo Linux软件包的构建问题和它们之间的冲突。 旁注:我从2-3打一两个shell脚本行开始。 不幸的是,当我添加额外的2-3 KLOC时,我错过了不归路的地步。 尽管它可以正常使用,但我不打算为其添加...

    TCP socket SYN队列和Accept队列区别原理解析

    这两个术语有时也被称为“reqsk_queue”,“ACK backlog”,“listen backlog”,甚至“TCP backlog”,但是这篇文章中我们使用上面两个术语以免造成混淆。 SYN队列 SYN队列存储了收到SYN包的连接(对应内核代码的...

    nginx connect() to unix:/var/run/php-fpm.sock failed (11: Resource temporarily unavailable)

    网站常出现502 bad gateway,程序没有问题。...php fpm配置文件里有backlog,backlog是linux服务器在socket处理连接数的定义,phpfpm默认为-1,将-1改为4096,重启php fpm问题解决。 您可能感兴趣的

    百度地图开发java源码-TCP-IP-NetworkNote:《TCP/IP网络编程》(韩-尹圣雨)学习笔记

    百度地图开发java源码 ...backlog); 4. 调用accept函数受理连接请求 int accept(int sockfd, struct sockaddr *addr , socklen_t *addrlen); linux不区分文件和套接字 打开文件 #include #include <sys/st

    4.网络设备驱动.zip

    而在网络层次上,NAPI 技术已经完全被应用到了著名的 netif_rx 函数中间,并且提供了专门的 POLL 方法--process_backlog 来处理轮询的方法;根据实验数据表明采用NAPI技术可以大大改善短长度数据包接收的效率,减少...

    NeoID:一个支持分布式部署的ID生成服务程序

    支持 linux 和 unix。###编译安装:直接代码根目录下 make 即可make 完毕可以在 build/bin/neoid 找到可执行的服务程序。启动运行:./neoid 直接启动Usage: neoid [-i machine_id] [-p port] [-b backlog] [-d]-i ...

    delphi7文件

    Python的没有研究过,但是在c中,指的是服务器端可建立连接的客户端的队列长度,表示服务器已经经历的两次握手等待accept 系统调用,在linux高性能服务器编程一书中提到,现在这个backlog 只是给kernel 的一个建议值...

    浅谈socket TCP编程中connect的一些坑

    The behavior of the backlog argument on TCP sockets changed with Linux  2.2. Now it specifies the queue length for completely established  sockets waiting to be accepted, instead of the ...

    gsoap 2.8 (SOAP/XML 关于C/C++ 语言的自动化实现工具内附 CSharp webservice例子,及GSOAP client和server例子)

     ×跨平台:Windows, Unix, Linux, Mac OS X, Pocket PC, Palm OS, Symbian等。  ×支持序列化程序中的本地化C/C++数据结构。  ×可以使用输入和输出缓冲区来提高效率,但是不用完全消息缓冲来确定HTTP消息的长度...

Global site tag (gtag.js) - Google Analytics