最新消息:

标签:tcp

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

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

admin 5年前 (2019-02-06) 3973浏览 0评论

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

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

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

admin 6年前 (2018-07-05) 2819浏览 0评论

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

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

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

admin 6年前 (2018-07-05) 3200浏览 0评论

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

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

TCP三次握手-backlog队列问题

admin 6年前 (2018-07-05) 2740浏览 0评论

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

SYN丢包的几个例子
SYN

SYN丢包的几个例子

admin 6年前 (2017-10-31) 2644浏览 0评论

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

SYN和RTO
RTO

SYN和RTO

admin 6年前 (2017-10-31) 2569浏览 0评论

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

关于tcp listen queue的一点事
tcp

关于tcp listen queue的一点事

admin 7年前 (2017-07-24) 2850浏览 0评论

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

linux里的backlog详解
tcp

linux里的backlog详解

admin 7年前 (2017-07-24) 2769浏览 0评论

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

TCP SNMP counters (三)
tcp

TCP SNMP counters (三)

admin 7年前 (2017-07-24) 3167浏览 0评论

TCP Others Others 类别 名称 描述 TcpExt TCPBacklogDrop tcp_v4_rcv() : 如果socket被user锁住,后退一步内核会把包加到sk_backlog_queue,但如果因为sk_rcv_buf不足...

TCP SNMP counters (二)
tcp

TCP SNMP counters (二)

admin 7年前 (2017-07-24) 2921浏览 0评论

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

TCP SNMP counters (一)
tcp

TCP SNMP counters (一)

admin 7年前 (2017-07-24) 2903浏览 0评论

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

TCP连接的建立和终止
tcp

TCP连接的建立和终止

admin 7年前 (2017-07-10) 3218浏览 0评论

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

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

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

admin 7年前 (2017-06-06) 3550浏览 0评论

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

浅谈CLOSE_WAIT
CLOSE_WAIT

浅谈CLOSE_WAIT

admin 8年前 (2016-09-10) 3438浏览 0评论

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

记一次TIME_WAIT网络故障
tcp/ip

记一次TIME_WAIT网络故障

admin 8年前 (2016-09-10) 2663浏览 0评论

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

关于FIN_WAIT2
FIN_WAIT2

关于FIN_WAIT2

admin 8年前 (2016-09-10) 2862浏览 0评论

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