微信号:infoqchina

介绍:有内容的技术社区媒体

第三只眼:领地

2014-03-31 18:24 杨赛

某天晚上临时占用了酒店房间里唯一的凳子写工作日报,老公大人只好上床办公。于是日报写完之后,嘿嘿……正好成了一个近距离观察老公大人办公的好机会:)


先介绍一下背景:老公大人从去年开始启动了lkp+项目,这项目是给Linux内核做自动化性能测试的,全称姑且叫做“第二代Linux内核性能测试平台”吧。事实上这个项目他早该在两年前就开始做,不过当时他觉得条件不成熟,就先做了一个面向Linux内核开发者社区的build自助测试服务0day,在0day跑顺了之后才回头做这个“正事”。0day做的事情很“简单”:把内核开发者社区里每天生成的dev branch都抓下来,看看这些新内核们能不能编译运行——这个“简单”的任务花了他一年半的时间。从开始做0day到现在,中间发生了许多事情,也有过不顺利的过程,不过不管怎样,现在lkp+总算是跑起来并开始往社区里报告有效的bug了。


背景介绍完毕,言归正传。只见老公大人先进ganglia巡视一遍监控图表,满屏几十台机器,看到有几台新加的机器负载不正常,就ssh到每台机器里面看情况,有的是机器背着太多vm跑搞得内存不足了,有的是ip和机器名没做绑定,有的是机器莫名其妙无法启动,他一个一个定位问题并解决掉。然后再进入自己写的一套监控脚本,看每台机子跑的测试用时多少,有没有卡住了;然后再看测试用例的测试列表,检查各个用例空转的测试结果是不是稳定,不稳定的要请小伙伴们看看它们为什么不稳定;然后检查邮件,有的是0day报了个古老的bug,有的是开发者抱怨说被告知的bug无法重现,有的是之前面试的同学发来的笔试脚本,有的是小伙伴们问上次沟通的问题这个解法行不行,还有的是机器发来警告说硬盘快满了,要去检查为什么这台机器上自动清空磁盘空间的脚本失效了;然后再去看测试运行的告警输出,发现有很多重复的告警,需要检查是怎么回事……


看着他这样一条一条的处理这些信息,忽然有种错觉,仿佛这套系统是一个庞大的王国,而他是国王,周而复始的在这片土地上巡逻。国王用了三个月的时间圈好这片地并做好规划,在要盖房子的地方打好地基,要种粮食的地方撒上种子,要修公路的地方铺好沥青,要修桥的地方搭上板子。然后日复一日,他徒步从一个地方走到另一个地方,今天磊几块砖头,明天浇水施肥,后天压一压马路,再过一天把桥拓宽一点。这样建造几个月,可以住人了,他再去引导臣民居住进来,给他们造医院和超市,给他们安排工作和住所,在整个王国的各个角落安置密探保证他们的安全和幸福。密探们在一开始会发现很多问题,纷纷发来奏折,国王要一个一个看奏折并想办法把问题的根源除掉。王国太大了顾不过来,就分封诸侯,领导大家一同来治理。这又有点像是小时候玩的三国志游戏,今天南边发大水了,明天北方闹旱灾了,不知道什么时候又闹蝗虫了,哪天又农民起义了,要做的事情太多,但自己一个回合只能执行那么几个操作,资源有限,只能尽可能的捡最重要的事情把它做掉。


其实之前的0day也是一样,框架搭好之后的很长时间内,老公大人都管它叫做bug多多——一开始不是因为它抓bug多,而是它自己的bug太多了。bug是一个一个改掉的,机器是一台一台借/捡来的(每台机器都不怎么一样),测试用例是一个一个写上去的,遇到开发者抱怨误报还要一个一个去安抚。这片领地隐藏在并不为世人所知的一个角落,但却的确是一个庞大的王国!


想想看,自己认识的很多程序员都有这种领地意识,比如熊猫君,作为InfoQ编辑协作平台Raven的设计师和创作者,他就是Raven之神——Raven之神不但要做一个功能性的平台,还要做一个能跟编辑们交流的机器人,为了让机器人变聪明而整天在群里调教它。事实上不仅是程序员,编辑也有自己的领地感,无论是一个专题,一个专栏,还是杂志、社区,都是一片领地。相信任何一个职业都有自己的领地。拥有领地的人生是幸福的,因为我们在自己的领地中确认了自己的价值。


当一个领地做到问题越来越少、可以自己运转并自我修复、成长的时候,国王就离开这片熟悉的土地,到陌生的领域去开辟新的王国。人的一生就是不断征战、不断垦荒的过程呀。


晚上11点,老公大人终于决定停止今天的巡逻,关机准备休息。我开玩笑的说:


“辛苦啦,陛下!”


老公大人大汗:


“人家周总理才辛苦呢,日理万机,我这儿只不过日理十机而已!”转念又想想,“如果算上虚拟机,倒也可以说是日理千机了!”


“第三只眼”:

主要由InfoQ编辑专门为微信公众账号自编自写的一个栏目,旨在表明编辑态度及表述平日见闻和思考,期望成为和读者沟通的桥梁。亦接受投稿:spark@cn.infoq.com

 

今日专栏作者:

杨赛(@lazycai),InfoQ中文站编辑。到处串门的互联网信徒,相信规则的力量。

 

***********************************

本文来自InfoQ微信公众账号:infoqchina

1、回复“今日新闻”,查看今天更新的新闻;

2、回复“今日英文”,查看今天英文站的更新;

3、回复“文章 +关键词”,搜索关键词相关内容;

4、回复“QCon”,了解QCon大会相关信息;

5、回复“活动”,了解最近InfoQ组织的线下沙龙;

6、回复“架构师”,获取《架构师》下载地址;

7、回复“投稿”,了解投稿和加入编辑团队的流程。

***********************************

 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 算法题:最长公共子序列 程序员们,你们是这样设置密码的吗? 沙龙分享┃企鹅影业常斌:IP之上,内容为王 【R每日一贴】R画多变量散点图? 《近匠》茄子快传,让设备更好地连接