当前位置:首页 > 开发 > 操作系统 > 正文

C1000K.pdf_小结

发表于: 2014-10-30   作者:chuqingq   来源:转载   浏览次数:
摘要: # 系统优化配置 * 两项配置文件:/etc/security/limits.conf/etc/sysctl.conf * sysctl对应的配置是/proc/sys/下的,包括core、ipv4等目录下 * socket状态:  半连接队列:   SYN_RECV、   syn floo

# 系统优化配置
 * 两项配置文件:/etc/security/limits.conf/etc/sysctl.conf
 * sysctl对应的配置是/proc/sys/下的,包括core、ipv4等目录下
 * socket状态:
  半连接队列:
   SYN_RECV、
   syn flood防御:net.ipv4.tcp_syncookies、net.ipv4.tcp_max_syn_backlog、net.ipv4.tcp_synack_retries;
   tcp_max_syn_backlog确实是半连接队列的长度,也和SOMAXCONN有关,计算比较复杂(尤其是新版内核:http://www.piao2010.com/linux诡异的半连接syn_recv队列长度二)
  全连接队列:
   listen的backlog参数(man listenbacklog在Linux 2.2之后表示的是已完成三次握手但还未被应用程序accept的队列长度)
   查了apache文档关于ListenBackLog 指令的说明,默认值是511. 可见最终全连接队列(backlog)应该是net.core.somaxconn = 128
   证实这点比较容易,用慢连接攻击测试观察到虚拟机S的80端口ESTABLISHED状态最大数量384
   正好等于256(apache prefork模式MaxClients即apache可以响应的最大并发连接数) + 128(backlog即已完成三次握手等待apache accept的最大连接数)。
   说明全连接队列长度等于min(backlog,somaxconn);
  man netstat
     State
     The  state  of the socket. Since there are no states in raw mode and usually no states used in UDP, this column may be left blank. Normally this can be one of several val-
     ues:

     ESTABLISHED
      The socket has an established connection.

     SYN_SENT
      The socket is actively attempting to establish a connection.

     SYN_RECV
      A connection request has been received from the network.

     FIN_WAIT1
      The socket is closed, and the connection is shutting down.

     FIN_WAIT2
      Connection is closed, and the socket is waiting for a shutdown from the remote end.

     TIME_WAIT
      The socket is waiting after close to handle packets still in the network.

     CLOSED The socket is not being used.

     CLOSE_WAIT
      The remote end has shut down, waiting for the socket to close.

     LAST_ACK
      The remote end has shut down, and the socket is closed. Waiting for acknowledgement.

     LISTEN The socket is listening for incoming connections.  Such sockets are not included in the output unless you specify the --listening (-l) or --all (-a) option.

     CLOSING
      Both sockets are shut down but we still don't have all our data sent.

     UNKNOWN
      The state of the socket is unknown.
  tcp_fin_timeout   
  通过/usr/sbin/ss -n -l命令查看socket状态
# 非阻塞
# reference
 TODO

C1000K.pdf_小结

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
0、结对人员   Hu(155) Tan(189) 1、关于结对编程   优点:coder的大部分错误可以在第一时间被r
这两天一直碰到它,却总是不明白,甚至一开始连回传都不知道是啥。。现在终于理解了,分享给大家,
前言 之前对于WebService都是简单的知道,但是没有一个比较系统的了解。最近将其进行了下整理,对每
出现: 首先JQuery 是为改变编写js的方式而设计的。它大大简化了js的编写,不仅仅提供了强大的功能
读完mapreduce论文小结一下。 1.MapReduce是一个编程模型,封装了并行计算、容错、数据分布、负载均
最近看园子里 @李林峰的园子 关于ORM的介绍,真的很好。自己看了也有一点点小心的,记录一下。 ORM
<img src="http://img.it610.com/image/product/8346900f71dc4faaa13da8f0a3053e37.jpg" alt="&l
以下图示内容请运行源代码 定义: float 属性定义元素在哪个方向浮动。以往这个属性总应用于图像,使
一 . MVC概述: 最近才接触到它,M—V—C,顾名思义,即模型层(数据库控制层,进行逻辑处理因此也
JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScri
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号