Netfilter,iptables/OpenVPN/TCP guard:-(

我不会编程,但也不是一点都不会,我稍微会一些 :-)

原教旨主义的TCP BBR初始pacing rate计算

首先看看下面的tcptrace图: 我的配置如下: 初始窗口:4 mss 拥塞控制算法:BBR qdisc:fq 有原教旨般洁癖的看到那个silence gap是什么感觉?是不是想填掉它?这一点和只要是常量就有人想改它相反(对于常量,原教旨主义者往往需要一种数学上的诠释和推导)… ...

2018-06-30 07:45:07

阅读数:13892

评论数:-2

再谈Linux epoll惊群问题的原因和解决方案

差别是什么?差别只是西装! 缘起 近期排查了一个问题,epoll惊群的问题,起初我并不认为这是惊群导致,因为从现象上看,只是体现了CPU不均衡。一共fork了20个Server进程,在请求负载中等的时候,有三四个Server进程呈现出比较高的CPU利用率,其余的Server进程的CPU利用率都...

2018-06-29 08:49:24

阅读数:12314

评论数:3

TCP BBR Startup gain计算总结和Startup失速问题

浙江温州皮鞋湿! 在前面几篇文章中,我采用纯数学的方式推导了TCP BBR Startup gain的由来,本文将通过一个BBR动力学模型对Startup gain的值做出直观地解释。 BBR动力学模型 BBR的动力学模型很简单,即: send_rate(t)=gain×Deliver...

2018-06-23 08:08:51

阅读数:7981

评论数:2

TCP BBR之Startup gain的另一种推导法以及最新进展

自从上周有个大半夜帮温州皮鞋厂老板计算了那个2ln22ln⁡2\displaystyle\frac{2}{\ln2}之后,就着这个问题又进行了一些思考,过程中非常感谢BBR的作者之一Neal Cardwell,帮忙解释了很多的细节并同时放出了关于BBR Startup gain的最新模型,看这里:...

2018-06-21 08:25:16

阅读数:11208

评论数:0

设计一个对向车道的左转待转区提高十字路口的并行通行率

浙江温州皮鞋湿。 我是一个非常讨厌拥堵人,嗯,谁都讨厌,但是我的这种厌恶之感已经影响严重影响到了我的作息时间,加上我同意讨厌太阳,所以说我一般早上七点左右就到公司上班了,下午没要紧事的话我必须五点五十前离开公司,我必须在所有人都动起来之前,提前行动! 但是能不能让早晚高峰期的交通网络更加畅通一...

2018-06-17 08:15:08

阅读数:3713

评论数:2

再聊TCP BBR的2/ln2 bbr_high_gain问题

嗯,确实还真有人看了我在雨夜写的上一篇文章: BBR的startup gain为什么是2/ln2?:https://blog.csdn.net/dog250/article/details/80660091 并且提出了问题。我就再写一篇文字解释一下这些问题。 问题1: init_cwn...

2018-06-14 08:33:20

阅读数:9815

评论数:0

TCP BBR的startup bbr_high_gain为什么是2/ln2?

温州老板上周就一直在问这个。 f(RTT)=2RTTf(RTT)=2RTTf(RTT)=2^{RTT} 可以抽象成: f(x)=2xf(x)=2xf(x)=2^x 假设在第nnn个RTTRTTRTT时其PacingRate是R0×2nR0×2nR_0\times 2^n,那么在下一个RTT...

2018-06-13 04:56:10

阅读数:11237

评论数:0

闲来无事看两个好玩的C语言面试题

昨天最后一天工作日,让我碰到了两个有意思的C语言编程问题,周末前权当轻松一下,挺有意思就过去了,因为今晚雨夜通宵,就把它们记录了下来。 事件1:关于结构体对齐和packed属性 下午跟同事下楼抽烟,聊到一个有意思的问题,不讲故事了,直接看问题: #include &...

2018-06-09 04:29:02

阅读数:9857

评论数:7

让人们久等了的TCP BBR v2.0快要出炉了!

这是连续的第四个雨夜了,这几天暴雨我几乎每晚都半通宵,晚上10点半左右睡觉,然后1点多就会醒来,听雨作文,无视并嘲笑着蚊子和飞机。 雨季来得晚了些,但却是猛的,我知道本周这可能是最后的雨夜了,所以我必须在这夜里写点东西或者做点事情,正好今天看到了bbr-dev list上的一篇topic,觉得有...

2018-06-09 03:21:17

阅读数:17760

评论数:6

从CPU cache一致性的角度看Linux spinlock的不可伸缩性(non-scalable)

凌晨一点半的深圳雨夜: 引用上一篇文章: 优化多核CPU的TCP新建连接性能–重排spinlock:https://blog.csdn.net/dog250/article/details/80575731 在这篇文章中,我将一个spinlock拆解成了per cpu的,然而并没有提及s...

2018-06-07 03:26:05

阅读数:11567

评论数:3

优化多核CPU的TCP新建连接性能--重排spinlock

2018/06/05 凌晨,雨夜! 迟到的雨,还是来了! 人们几乎已经逼近了单CPU的处理时延极限,于是人们希望通过多CPU的方式来提高处理带宽,从而得到更多的处理容量,理论上讲,这无可厚非,但现实中,这太难了。 几乎所有上世纪70年代以来的操作系统都不是为多核CPU并行编程而设计的,因...

2018-06-05 09:21:45

阅读数:3756

评论数:4

TCP/IP协议栈到底是内核态的好还是用户态的好?

“TCP/IP协议栈到底是内核态的好还是用户态的好?”这根本就是一个错误的问题,问题的根源在于,干嘛非要这么刻意地去区分什么内核态和用户态。 引子 为了不让本人成为干巴巴的说教,在文章开头,我以一个实例分析开始。 最近一段时间,我几乎每天深夜都在做一件事,对比mtcp,Linux内核...

2018-06-02 08:10:51

阅读数:9588

评论数:0

关于TCP同时打开-无需Listener的TCP连接建立过程

六一儿童节的大清早,竟然用这么一篇技术博客来总结童真,也挺好。我把早上的发的朋友圈文字附于文后,以应景。 周中写了一篇关于socket查找的文章,次日,也就是昨天上午,收到一封反馈邮件,好快,十分高兴能和大家一起进行技术讨论。 在这封邮件里,一位朋友提出了一种查询socket的优化方案,瞄...

2018-06-01 07:59:33

阅读数:12083

评论数:2

提示
确定要删除当前文章?
取消 删除