星期三, 一月 14, 2009

纠结de更新

好像把apache httpd降级到1.3.x目前来说有效地扼制了该纠结的再次发生,当然,这是还没有完全通过机器压测以及人肉压测证实的,因为各路PM都太忙,前几天发过的一个禁止所有人碰那台server的禁令发布以后真的就没有任何人在碰了,导致降级后服务的压力很轻很轻,除了某health check脚本意外只有我等一二人在随机访问服务。
不过,就像已经敲定的,即使降级到1.3.x可以100%消除这个问题,这也只不过是一个workaround,而不是solution。我真期待我可以NB哄哄地去提个patch给tomcat,可为啥感觉这概率会很小乜…为啥还是很在意dmesg里网卡TSO被disable的那几条日志乜…为啥还是很怀疑e1000网卡驱动的那几个看起来很match该server运行环境的known issues乜…
明天的任务是改掉tomcat的AJP 1.3 connector,强迫丫不许和httpd私下协商来重用已有的AJP连接然后和httpd 2.2.x连接测试——假如这能阻止httpd 2.2.x犯错误,那就意味着…其实也就是验证了下我们长久以来的怀疑:httpd不知道为啥突然漏读/漏发了,导致以后所有的request/response都错了一个位置。显然不重用已有AJP连接的话,AJP协议为数不多的这点儿好处也基本用不上了,对性能肯定是一记重击,是万万不可能用于production上的。
话说tomcat的代码看久了,感觉也不过尔尔,有些繁琐罗嗦跟不上时代,典型的SUN风格。有空倒是该尝试尝试jetty、resin,以前总觉得这俩东西不入流…

星期五, 一月 09, 2009

什么是纠结?纠结就是…

apache httpd 2.2.8 + mod_proxy_ajp,以及tomcat 6.0.14,httpd会时不时地把应该发给用户A的内容发送给用户B。tcpdump显示,完全是tcp级别的纠结:httpd甚至不等tomcat 从AJP link发送回响应就把已有的一个应该发给另外一个连接的响应给发送了出去。所有的server都是从一个镜像复制出来的,但只有这个server,也是 产品正式上线前最重要的一个server,纠结到了这个程度…
于是乎,请求一个图片,返回一个css;请求一个css,返回一个js;某请求应该会拿到302跳转,结果返回一个应该显示给手机客户端的xml文档…
升级了下httpd到最新发行版,发现还是那个德行,然后在我们还在睡觉时被某人幸灾乐祸似的赶紧麻地利儿地又恢复到了2.2.8——稳定性,这是我在这 公司里最反感的一个说词:明明就是不稳定到无以复加的程度…有bugfix都不跟上,让人怀疑隐约是怕万一升级错了就得被人半夜从被窝里拎出来飙到机房。 其实apache出regression的频率和概率比我们自己要小很多——我不是说没出过。
httpd 2.2.8的代码放在机器里N天了,ctags也跑了一趟,就是没有时间看:因为要和人解释为什么我说这不是我们自己代码(java)出问题造成的,因为 有人怀疑我们自己的代码(java)已经神到可以corrupt整个java runtime从而导致tomcat返回错误的响应了。我从来是不会说"不可能"的人,只不过这事儿概率太小了,小到基本上等于我们team一起买了彩票 能瓜分整个奖池的概率。
反正那台server也已经被f*ck到这地步了,备用server也已经有人在申请了,准备搞个lighttpd上去试一下,毕竟apache错发响应 是实实在在被tcpdump下来了的,此外还有一次怀疑是某cache的shability。同时翻翻bugzilla以及svn log。
于是搞的我也很纠结:我是来修我们自己的java bug的吔…
圡鳖就需要受到SM级别的震慑。

星期一, 一月 05, 2009

0x07D8,以及0x07D9

标题党了?

新年了几乎一周后才想起来总结总结。

2008这年,废话地说起来,收获还是很大。损失也是有的,伴随着有如每个project过后都会做的那些lessons learned。
其实我也不是投机商,于是损失也应该算作收获。

重温了下eva。看法没有改变。人总是无法互相理解的。所以,照顾好自己的家人。其他不相干的人,相忘。

夏初的时候出差了一趟,去了向往已久的欧洲。在希斯罗降落的时候飞机是盘着降的,很忽悠。伦敦市中心很挤很乱,有些地方甚至会脏,可是天很蓝,云流走的很快,也明白了为什么英国人喜欢谈论天气。从伦敦桥走到白金汉宫,左膝隐约走伤。好高骛远去学伦敦腔,分不清楚谁是牛津腔。欧洲之星的票真贵,比便宜的航班还贵,餐车卖的饭吃完了恶心想吐,车头也没有想象中那么炫,而且浮土很多,可以想象在刚诞生的时候估计还是很酷的。路过了布鲁塞尔,在火车站转了一圈,跟天津一样到处在施工。德国的环境很好,绿化程度很高,据说要归功于二战期间盟军轰炸机把它基本炸平。波恩很静。科隆人很多。莱茵河看起来也没有多宽。出了公司能搜到的所有的Wi-Fi接入都是要花钱的。英航的7N7坐着明显没有柏林航空的小空客A330舒服。呆了一个半月,回到家有些不适应,主要还是湿度太大,早餐没了生肉和咖啡。

下半年对linux的熟悉程度比起之前增长很快。全都归功于头儿终于争取来第二台机器让我们装linux。SLED装完了用了半个下午就扔掉装了ubuntu。apt-build简单到有些简陋,最大的功劳是让我对gentoo、freeBSD有些想入非非,无视了之前的几次失败的相处。以至于后来狂妄到开始把一些常用软件purge后转去svn trunk、git master,还有bazaar,虽然没怎么用过。

越来越觉得FSF和ASF可以先merge一下再branch,也许可以互相学习一下。

比较了常用开发工具在winxp sp3和这大部分apt-build以及make过的intrepid上的性能以后,决定把winxp定为服务器系统,这台intrepid作为开发用机,因为xp机的硬件配置更高级而且速度更慢。

键盘操作也比以前频繁了很多。vim方面没啥长进,wm改到了awesome,ff装备了vimperator。键盘操作多了肯定会被人骂装逼。其实只不过是提升工作效率的尝试,如果这都要算装逼,那不装也是逼,傻逼的逼。

信用卡的开销也比以前大了很多,注册了paypal,主要是美元消费。两个域名,一个tasktop pro的一年期license,一个github.com的micro帐号。域名基本沦为命名java package的用途;公司想agile,TeamTrack这种重量级tracker的地位被弱化,mylyn也不经常用了,tasktop pro的一年期license比较贵,就当是为mylyn做贡献;github目前还是拿来学习git用,以及保存系统和用户的配置文件,以及其他一些零碎的代码。

上网看东西看多了,也产生了些自我意识。让那些牛人都见鬼去。会看代码是正经,RTFSC以及RTFM是王道。目前只有康神还是很神的。RTM不是RTFM。

年初给别人当伴郎力巴。贷了房子,搞了装修,买了家具,装了电器。5年了吧。

2009年。

多看些底层的东西,少谈论些设计、框架之类的东西,特别是不要自己到处发明局部小框架。重新看体系结构和操作系统基本原理。认真翻C、C++,不要头大。好好学py3000。要看open jdk,6以及7。要有core。有些事情已成定局,有些同学不足与谋,不如安心下来做好眼前的工作。

要安家结婚,不要弄出人命。

此致,敬礼。