最新消息:

标签:tcp

记一次性能优化,单台4核8G机器支撑5万QPS
优化

记一次性能优化,单台4核8G机器支撑5万QPS

admin 8年前(2019-02-06) 1浏览

前言 这篇文章的主题是记录一次Python程序的性能优化,在优化的过程中遇到的问题,以及如何去解决的。为大家提供一个优化的思路,首先要声明的一点是,我的方式不是唯一的,大家在性能优化之路上遇到的问题都绝对不止一个解决方案。 如何优化 首先大家要明确的...

TCP 三次握手原理,你真的理解吗?
tcp

TCP 三次握手原理,你真的理解吗?

admin 8年前(2018-07-05) 2浏览

正常TCP建连接三次握手过程: 第一步:client 发送 syn 到server 发起握手; 第二步:server 收到 syn后回复syn+ack给client; 第三步:client 收到syn+ack后,回复server一个ack表示收到了s...

TCP洪水攻击(SYN Flood)的诊断和处理
tcp

TCP洪水攻击(SYN Flood)的诊断和处理

admin 8年前(2018-07-05) 1浏览

1. SYN Flood介绍 前段时间网站被攻击多次,其中最猛烈的就是TCP洪水攻击,即SYN Flood。 SYN Flood是当前最流行的DoS(拒绝服务攻击)与DDoS(分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的...

TCP三次握手-backlog队列问题
backlog

TCP三次握手-backlog队列问题

admin 8年前(2018-07-05) 1浏览

概述 之前有同事做压力测试时,发现无论如何都无法突破128并发的问题,经排查发现该服务器ACCEPT QUEUE队列都为128,限制了网络的并发。 TCP三次握手 Linux内核协议栈为一个TCP连接管理使用两个队列,一个是半链接队列SYN QUEU...

SYN丢包的几个例子
SYN

SYN丢包的几个例子

admin 9年前(2017-10-31) 1浏览

如果出现 SYN 丢包,那么将导致严重的性能问题,如果没有严重到完全连不上,那么在延迟时间上会表现出明显的时间特征,比如:1秒,3秒,7秒,15秒,31秒,具体可以参考:「SYN和RTO」,本文不说这个,就说说哪些情况会出现 SYN 丢包。 SYN ...

SYN和RTO
RTO

SYN和RTO

admin 9年前(2017-10-31) 1浏览

The story of one latency spike,文章中介绍了 cloudflare 工程师如何一步一步 debug 网络延迟问题,细细读来受益良多,不过我并不打算详细介绍那篇文章的细枝末节, 本文只摘录一个点: When debuggi...

关于tcp listen queue的一点事
tcp

关于tcp listen queue的一点事

admin 9年前(2017-07-24) 0浏览

今天编程序的偶然遇到了一点问题,然后小研究了一下,发现一些以前不知道的事情,还有点小吃惊 ,记录一下。有些观点可能有问题,求指正。 我们都知道listen参数有个参数backlog。如果服务器不能及时调用accept,把连接从listen queue...

TCP SNMP counters (一)
tcp

TCP SNMP counters (一)

admin 9年前(2017-07-24) 0浏览

最近在总结2.6.32与2.6.18的差异,我特别有兴趣的是网络部分,但猛然发现其实SNMP counters我也并不能准确解释它们的含义,于是就有了以下总结,还不完整,持续总结中: 加粗的项代表TODO,还有一些counters没有列出来。 难免有...

TCP SNMP counters (二)
tcp

TCP SNMP counters (二)

admin 9年前(2017-07-24) 0浏览

继续讲述/proc/net/netstat, /proc/net/snmp中TCP的故事。 TCP Congestion Processing 类别 名称 描述 TcpExt TCPDSACKUndo tcp_ack() -> tcp_fast...

linux里的backlog详解
tcp

linux里的backlog详解

admin 9年前(2017-07-24) 0浏览

问题 我们在Linux上服务器起了一个serversocket,并且设置了backlog为2,并没有让serversock.accept() 在客户端上,我们一个一个的启动了连接socket, 当连接数目超过3的时候,客户端依然可以继续新建连接。 什...

TCP连接的建立和终止
tcp

TCP连接的建立和终止

admin 9年前(2017-07-10) 0浏览

TCP连接的建立和终止 TCP连接建立过程 三次握手 TCP连接建立过程需要经过三次握手,如图所示,三次握手的具体过程如下: 客户端发送SYN包,指明打算连接的服务器端口,以及初始序号ISN(SYN包占用一个序号,seq=X,SYN) 服务端收到客户...

记一次TIME_WAIT网络故障
tcp/ip

记一次TIME_WAIT网络故障

admin 9年前(2017-06-12) 1浏览

最近发现一个PHP脚本时常出现连不上服务器的现象,调试了一下,发现是TIME_WAIT状态过多造成的,本文简要介绍一下解决问题的过程。 遇到这类问题,我习惯于先用strace命令跟踪了一下看看: shell> strace php /path/...

LVS FULLNAT模式下客户端真实地址的传递
FullNAT

LVS FULLNAT模式下客户端真实地址的传递

admin 9年前(2017-06-06) 0浏览

在LVS的FULLNAT转发模式下, LVS对数据包同时做SNAT和DNAT,将数据包的源IP、源端口更换为LVS本地的IP和端口,将数据包的目的IP和目的端口修改为RS的IP和端口,从而不再依赖特定网络拓朴转发数据包。 这种方式存在一个问题: Re...

浅谈CLOSE_WAIT
CLOSE_WAIT

浅谈CLOSE_WAIT

admin 10年前(2016-09-24) 1浏览

所谓 CLOSE_WAIT,借用某位大牛的话来说应该倒过来叫做 WAIT_CLOSE,也就是说「等待关闭」,如果你还不理解其含义,可以看看 TCP 关闭连接时的图例: TCP Close 不要被图中的 client 和 server 所迷惑,你只要记...

关于FIN_WAIT2
FIN_WAIT2

关于FIN_WAIT2

admin 10年前(2016-09-10) 0浏览

前些天,有朋友问我关于 FIN_WAIT2 的问题:如果主动关闭的一方在进入 FIN_WAIT2 状态后没有收到被动关闭的一方发送的 FIN 包,那么会怎样? 让我们热热身,通过一张旧图来回忆一下 TCP 关闭连接时的情况: TCP Close 按照...

在实践中深入理解IP协议
ip

在实践中深入理解IP协议

admin 10年前(2016-07-08) 1浏览

TCP/IP协议栈其实当然不止有TCP和IP两个协议,但以这两个协议作为这个协议栈的统称,足以体现出其在TCP/IP协议栈中的重要性,正是因为有了IP协议,才使得不同网络间可以进行通信。当然要提及IP协议,其实还需要分析与其相关的配套协议,如ICMP...

TCP连接的建立和终止
tcp

TCP连接的建立和终止

admin 10年前(2016-07-08) 0浏览

TCP的连接和终止 TCP是一个面向连接的协议。在传输数据前必须要建立连接,在停止传输数据后要终止连接释放资源。 一.TCP连接建立 TCP连接是在IP网络中两个进程间(应用层协议)的双向、全双工的逻辑回路。由节点的IP地址和端口将连接双方对应起来。...

25个iptables常用示例
iptables

25个iptables常用示例

admin 10年前(2016-03-24) 0浏览

本文将给出25个iptables常用规则示例,这些例子为您提供了些基本的模板,您可以根据特定需求对其进行修改调整以达到期望。 格式 iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型] 参数 -P 设置默认策略:iptabl...

Out of Socket memory
kernel

Out of Socket memory

admin 10年前(2016-03-24) 0浏览

Apr 23 22:43:21 rs1 kernel: […] Out of socket memory 两种情况会出发 “Out of socket memory” 的信息: 1.有很多的孤儿套接字(orphan sockets) 2.tcp so...

Python 中的进程、线程、协程、同步、异步、回调
Python

Python 中的进程、线程、协程、同步、异步、回调

admin 11年前(2015-11-26) 1浏览

进程和线程究竟是什么东西?传统网络服务模型是如何工作的?协程和线程的关系和区别有哪些?IO过程在什么时间发生? 在刚刚结束的 PyCon2014 上海站,来自七牛云存储的 Python 高级工程师许智翔带来了关于 Python 的分享《Python中...

tcp数据重传时间细节探秘及数据中心优化
tcp

tcp数据重传时间细节探秘及数据中心优化

admin 11年前(2015-11-24) 0浏览

在数据中心网络内,机器之间数据传输的往返时间(rtt)一般在10ms以内,为此调内部服务的超时时间一般会设置成50ms、200ms、500ms等,如果在传输过程中出现丢包,这样的服务超时时间,tcp层有机会发现并重传一次数据么?如果设置成200ms以...

关于 Out of Socket memory
kernel

关于 Out of Socket memory

admin 11年前(2015-07-08) 3浏览

操作系统是 Linux RHEL 5.3,在dmesg的输出中发现很多类似的报错信息: Out of socket memory printk: 8 messages suppressed. 从网上搜了一下,发现两篇不错的解释这个错误的文章,综合一下...

HTTP长连接200万尝试及调优方法
http

HTTP长连接200万尝试及调优方法

admin 11年前(2015-07-08) 0浏览

对于一个server,我们一般考虑他所能支撑的qps,但有那么一种应用, 我们需要关注的是它能支撑的连接数个数,而并非qps,当然qps也是我们需要考虑的性能点之一。这种应用常见于消息推送系统,也称为comet应用,比如聊天室或即时消息推送系统等。c...

TCP: time wait bucket table overflow
kernel

TCP: time wait bucket table overflow

admin 11年前(2015-07-08) 2浏览

在redhat网站查到下面的信息,说是因为内存不够的原因。我觉得这个可以当作出现这个问题的解释,但是却解释得不够“完美”,我仍旧还在疑惑中:如果是是因为内存不够的原因,那么在每次测试之前,只要保证机器状态一样,那么TCP: time wait buc...

epoll 单机(4G内存)并发量最大能达到多少?
epoll

epoll 单机(4G内存)并发量最大能达到多少?

admin 11年前(2015-05-30) 0浏览

按照题主的意思 是根据内存去算一个最大并发的连接数. 那么首先要找出来单个连接消耗内存的地方. 第一个首先是socket buffer. read 和write 分别有一个, 默认大小在 /proc/sys/net/ipv4/tcp_rmem (fo...

TCP协议三次握手连接四次握手断开和DOS攻击
tcp

TCP协议三次握手连接四次握手断开和DOS攻击

admin 11年前(2015-05-27) 0浏览

TCP连接的状态图 TCP建立连接的三次握手过程,以及关闭连接的四次握手过程 贴一个telnet建立连接,断开连接的使用wireshark捕获的packet截图。 1、建立连接协议(三次握手)(1)客户 端发送一个带SYN标志的TCP报文到服务器。这...