- 博客(8)
- 资源 (4)
- 收藏
- 关注
原创 当心!TCP本机客户端连接本机服务器
上周,在我们进行性能测试的时候,发现了一个问题。我们的服务器上启了一个redis服务端,侦听0.0.0.0的1234端口,同处在本机的另外一个进程会频繁发起到该服务端的短连接,结果导致了两个问题:1.大量的TIME_WAIT状态的连接;2.发起连接的进程的CPU占用率接近100%。这两个结果严重影响了我们网关的性能,在分析具体原因之前,首先做一个提倡,那就是:本机连接本机,首选UNIX域套接字而不
2015-09-27 23:07:30 9994 9
原创 Linux内核中几个比较有意思的解释(进程调度算法,页面调度算法,非线性工作集)
1.O(1)调度器的时间计算公式与CFS调度器Linux 2.6.23之前普遍采用了O(1)调度器,它是一种基于优先级的时间片调度算法,所谓的O(1)只是它的一些精巧的数据结构使然,在不考虑动态补偿/惩罚的情况下,只要优先级确定,那么时间片就是固定的。2.6.23以后的CFS呢,它是一种基于权重的非时间片调度算法,进程每次执行的时间并不是固定的,而是根据进程数在一个准固定周期内按照其权重比例的时间
2015-09-26 12:31:34 8747 3
原创 Linux TCP实现优化的背后想法
想象一下当初为什么不让多个进程/线程在一个相同的IP地址和端口上侦听,很简单,这是因为TCP/IP模型将一个端口作为一个四层复用解复用的唯一标识,也就是一个四层地址,正如IP地址属于一个主机一样(属于一块网卡?),一个IP/端口对属于一台主机上一个特定的进程,它只是一个保证唯一性的静态标识。世界上不同的主机不能有相同的IP地址,一台主机上绑定特定IP地址的不同进程也不能有相同的端口,否则就不知道一
2015-09-25 00:03:33 7989 7
原创 同样思路解决不同的问题,集大成者
1.BFS调度器与O(1)调度器O(1)调度器采用二级分类,第一级是CPU,即每一个CPU一个队列,第二级是优先级,每CPU队列又细分为140个优先级队列。第一级采用负载均衡调度,第二级采用优先级调度。虽然很清晰,但是要加入“小手段”来补偿/惩罚。本质上CFS调度器也一样,只是采用了红黑树以及新增了一个虚拟时钟层屏蔽了补偿/惩罚操作。BFS调度器同样采用二级队列,第一级是优先级分类,第二级是个简单
2015-09-24 09:25:05 4795 1
原创 上海虹桥机场点烟器与UNIX哲学
今天外出,资深烟民在机场安检后怎能不找吸烟室...上海虹桥机场,我看到了下面的设施:很简单,不先进,也许你会说我孤陋寡闻,但我不反驳。这个装置真的让我怦然心动,真的!这种设计不会出自传统中国设计师之手,因为传统设计师希望让自己的设计很复杂以提高门槛,觉得自己很牛X。这个设计组合了最简单的几个小物件,一把锁,几个打火机,一个固定铁架子,足够了,难道不是吗?很美! 我老婆质问我:谁会去拿几
2015-09-23 23:59:01 7698 3
原创 多核心Linux内核路径优化的不二法门之-多核心平台TCP优化
本文可以作为《Linux转发性能评估与优化(转发瓶颈分析与解决方案)》的姊妹篇,这两篇文章结合在一起,恰好就是整个Linux内核协议栈的一个优化方案。事实上Linux协议栈本来就是面向两个方向的,一个是转发,更多的是本地接收。目前大量的服务器采用Linux作为其载体,更加体现了协议栈本地处理相对于转发的重要性,因此本文就这个问题扯两句,欢迎拍砖!0.声明:0).关于来源昨天就答应皮鞋厂老板了,只是
2015-09-23 23:03:00 12320 3
原创 多核心Linux内核路径优化的不二法门之-slab与伙伴系统
作为这个系列的第一篇,我先来描述一下slab系统。因为近些天有和同事,朋友讨论过这个主题,而且觉得这个主题还算比较典型,所以就作为第一篇了。其实按照操作系统理论来讲,进程管理应该更加重要些,按照我自己的兴趣来讲,IO管理以及TCP/IP协议栈会更加有分量,关于这些内容,我会陆续给出。 Linux内核的slab来自一种很简单的思想,即事先准备好一些会频繁分配,释放的数据结构。然而标准的s
2015-09-16 05:08:00 9123 4
原创 多核心Linux内核路径优化的不二法门-序
提到这个主题,我感到愤怒,我觉得自己被玩了一万次还保持着君子的无谓。其实内心充满了邪火!也许我应该放弃,也许应该看看这个世界,我无法。何时?何地?何人?何事?何苦!何如!何妨!何必!走过,遇见,相知,相恋!相亲,黯淡,相顾,长叹!十年!又有谁知道我的罪?!燃尽的激情让我选择放弃;然而是意义让我重新开始!是什么力量让崩溃来的如此彻底,然而又是什么证据表明苏醒是如此的无疑!心缥缈,人逍遥,悲欢泪,何足
2015-09-13 11:02:42 4514
一个iptables的stateless NAT模块实现
2014-12-27
模块化的nf-HiPAC
2014-11-21
关于linux内核以及其他个人体会的文集
2009-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人