# 系统优化配置
 * 两项配置文件:/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_小结相关推荐

  1. 三十五、Linux性能优化实战学习笔记-基础篇:C10K 和 C1000K 回顾

    目录 C10K 怎么在32位系统的系统中支持并发 1 万的请求呢? 网络I/O 模型优化 I/O 多路复用的分类 select 或者 poll epoll 为什么Redis通常是选择使⽤epoll这种 ...

  2. 35丨基础篇:C10K和C1000K回顾

    前面内容,学习了 Linux 网络的基础原理以及性能观测方法.简单回顾一下,Linux 网络基于 TCP/IP 模型,构建了其网络协议栈,把繁杂的网络功能划分为应用层.传输层.网络层.网络接口层等四个 ...

  3. Linux性能优化实战:基础篇:C10K 和 C1000K 回顾(35讲)

    一.上节回顾 前面内容,我们学习了 Linux 网络的基础原理以及性能观测方法.简单回顾一下,Linux网络基于 TCP/IP 模型,构建了其网络协议栈,把繁杂的网络功能划分为应用层.传输层.网络层. ...

  4. c1000k 高性能服务器构建技术,C1000K高性能服务器构建技术 (52页)-原创力文档...

    C1000K高性能服务器构建技术;C1000K面对的挑战;解决方案;Agenda;Dell R710机器;硬件体系巨大变化;Cache在现代CPU硬件上的版面, 也充分说明了cache的重要性;9.要 ...

  5. 基于 dpdk-nginx 的 c1000k 并发研发

    文章目录 1.概述 2.dpdk 介绍 3.ans 简介 4.dpdk-nginx 简介 5.nginx 和 dpdk-nginx 压测数据对比 6.小结 7.后续问题 1.概述 本文简单介绍 dpd ...

  6. C10K C100K C1000K C10M select poll epoll

    C10K C10K 和 C1000K 的首字母 C 是 Client 的缩写.C10K 就是单机同时处理 1 万个请求(并发连接 1 万)的问题,而 C1000K 也就是单机支持处理 100 万个请求 ...

  7. 【阶段小结】协同开发——这学期的Git使用小结

    [阶段小结]协同开发--这学期的Git使用小结 一.Git简介 1. Git简单介绍 2. Git工作流程以及各个区域 3. Git文件状态变化 二.Git安装&Git基本配置 三.个人踩坑 ...

  8. 正则表达式(括号)、[中括号]、{大括号}的区别小结

    正则表达式(括号).[中括号].{大括号}的区别小结 </h1><div class="clear"></div><div class=& ...

  9. php中$_REQUEST、$_POST、$_GET的区别和联系小结

    php中$_REQUEST.$_POST.$_GET的区别和联系小结 作者: 字体:[增加 减小] 类型:转载 php中有$_request与$_post.$_get用于接受表单数据,当时他们有何种区 ...

最新文章

  1. 招聘|字节跳动招计算机视觉方向算法实习生
  2. -Objc 、 -all_load 、 -force_load
  3. Swift与Objective-C交互
  4. SpringCloud组件:Eureka的服务发现与消费
  5. 互联网1分钟 |1019
  6. error Infos
  7. cachehelper java,初识EHCache缓存框架(2.x版本)
  8. T-SQL 实用函数总结
  9. Python3 爬虫学习笔记 C15【代理的基本使用】
  10. 深度 | 打败围棋冠军后,机器智能下一步能战胜黑客吗?
  11. Mysql 学习之 SQL的执行顺序
  12. Linux下安装MySQL数据库、禅道
  13. ViewState使用兼谈序列化
  14. shopnum1商城系统
  15. 【图像处理】基于matlab分形插值算法调换图片【含Matlab源码 197期】
  16. 施努卡:锂电池模组生产线(锂电池模组是什么)
  17. php水印文字方向,ppt文本框文字方向为所有文字旋转的设置方法
  18. git 提交代码报错,提示邮箱格式不正确
  19. nginx +location + https
  20. Matlab/Simulink 自动代码生成 基于模型设计学习教程(2)---- 闪烁灯实验

热门文章

  1. 函数极值问题求解——C++实现
  2. 移动端,录音之前判断是否已经获取录音权限
  3. 实现全局双指长按返回桌面
  4. Redis的高并发场景解决方案
  5. php 比对两张图片,PHP实现图片相似度对比
  6. 多线程教学、多线程下载网络图片、视频等
  7. 精雕细琢!阿里打磨出来的 MyBatis+设计模式 架构指南
  8. 我的世界服务器名称被占用,我的世界:1名玩家被整个服务器的玩家驱逐,皆因为他头上2个字!...
  9. 解决dpkg/apt-get error : 子进程 post-installation script 返回了错误号 1
  10. 查找附近的人-geohash使用方法