weekly review 200908: Talk Show of ASP.NET
本周花了大约十个小时的时间看完了ASP.NET夜话的一组文章;另外的工作时间主要是在解决因为程序升级引起的数据库连接数过高的故障;晚上的时间用来更新CMI的程序,虽然已经正式上线,但是还有一些细节需要修正。5G基本上没有任何的进展。
周一,早上起来,赶紧去看了一眼PC Anywhere的远程连接,结果发现程序抛出了一个异常,有一个比较弱智的错误,难道是因为昨天晚上已经到了精神恍惚的地步?坐班车到了NCC之后突发奇想,开始看之前下载的ASP.NET夜话,现在大概一共有11篇博客文章以及6段视频,原来设想利用一整天的时间看完,后来发现需要的时间至少要乘以3,这个和写程序的时间估算比较类似。上午看了大概三篇,中午回去踢球,因为上周两场皆负,所以我还是希望今天本方能够胜利;在对方开始阶段少一人的情况下,我方领先两球;后来人一样多,结果还是胜两球;感觉胜的不是特别的痛快。下午继续夜话,看了没多少,ZK过来在我的机器上配置Oralce Document Library,因为网速比较慢(10Mb的交换机),所以花费了不少时间,没看多少。晚上回家做饭,米饭,番茄鸡蛋、尖椒肉丝,还蒸了点从老婆家里拿来的丸子。吃饭的时候,CMI的项目经理就打电话过来,说是还有几个问题需要修正,约我在MSN上详谈。等我打开MSN,却又碰到Live系列的升级,等了半天才好。沟通之后,发现我这边有两个地方需要更改,其中一个是编程的时候遗留的bug,之前一直没有暴露。后来晚上该程序一直折腾到半夜,倒是还抽空上网在卓越上买了三本书,主要是用掉之前从动感地带换来的¥50礼券。
周二,早上照例先去远程的服务器上看看,没有报错的信息,令人开心。匆匆忙忙坐上班车,却发现手机快没电了,其实早上就已经发现这个问题,本想带着充电器上班,结果……于是恳求老婆大人顺路送充电器过来。有一条定律说,如果一件事情有可能向坏的方向发展,那么就一定会向最坏的方向发展。老婆大人后来告诉我说,因为堵车,所以改道,不能送充电器过来;更糟糕的是,她把充电器带走了,即使我中午回家,也没有充电器可用,我……给项目经理留了我的座机号码,然后在NCC继续看夜话剩下的部分。ASP.NET夜话这个系列的文章,其实更适合初学者,但是我也从中学到了不少东西,算是温故而知新了;感觉比大部分中文技术书写的好,但是并没有我之前期望的那么优秀。因为手头的项目正好是ASP.NET的,所以看看这个,应该也不算跑题。中午回家,找出老婆大人之前的3310的手机和充电器,虽然屏幕已经不亮了,不过我还是可以把它当作充电器用。3310使用的是BL-4C的电池,我的N70使用的是BL-5C,电池大小一样,并且主要的技术参数也一致,只是BL-5C的毫安时更大一点。于是打算用3310给BL-4C电池充电,然后安装到N70里面。特意上网搜索了一下,虽然Nokia的官方说法没有,但是有网友说N70可以使用BL-4C。中午踢球,在少一人的情况下,赢两球,感觉状态还可以,不过脚趾被自己的指甲划伤了。把BL-4C的电池装进了N70,因为不是指定的电池,所以特意装在包里,以免爆炸伤人:)下楼发现自行车倒了,另外不知谁家晾晒的网套掉在了地上,于是好心的把它挂回到了铁丝上;哪知道,网套上的棉絮有不少都沾到了我的衣服和裤子上,十分狼狈,只好又回家去处理了一下,难道做好事一定要付出代价么。骑车匆匆赶到NCC,继续夜话,一共11篇,看到了第9篇。晚饭还是米饭,应老婆大人的要求特意做了红烧带鱼,还有榄菜豆角、木耳黄瓜鸡蛋,喝了昨天剩的玉米红薯粥。CMI的项目经理再次打来电话,之前原本取消的一个功能需要补充,因为项目在26日要上线,所以比较紧张;晚上十点,经理再次致电询问进度。完成这个功能大概花费了三个小时左右的时间,但是因为之前没怎么抓紧,所以睡觉的时候已经很晚了。
周三,早上坐班车到NCC,结果听说单位的服务器再次出现了连接数过高的情况,问题似乎出现在最近更新的程序上面。我在NCC还是抓紧时间看那个夜话系列,到了下午的时候,基本上是看完,花费的时间比自己想象的要多一些。中午回来踢球,虽然感觉有点累,但是我方再次胜出。下午看完了夜话,扫了一眼视频的教程。晚上回家,上网,倒是早早就睡觉了。
周四,值班。早上到了办公室,没过多久,就再次出现连接数的问题,虽然处理(强制结束Oracle进程,重新启动Oracle)的比较快,但是还是把Web应用程序的开发人员找了过来,看看能否发现问题。问题很快就被发现,有一个写死在HTML代码里面的插件版本号没有更新,可能会导致客户端重复下载插件,并且影响到调用Word程序。修正bug之后,大家都感觉松了一口气。中午有同事替班,我下楼踢球,再次获胜,我方在本周四连胜。下午再次出现连接数的问题,这次没有重启Oracle数据库,系统自己恢复了过来。晚上十点半下班,然后快到十二点的时候又出问题,害得我回到办公室,不过等我到了办公室,问题已经基本上解决了,和下午一样,是服务器自己倒腾过来了,没有人工干预。
周五,为了避免在用系统发生故障,所以上午没有去NCC,而是留在了办公室。就好像有时间预定一般,同样在八点半左右出现连接数故障,不得不中止进程重启数据库。WebApp的开发人员也被急召,讨论之后决定取消新功能发布,恢复到之前的一个稳定版本;但是插件的更新有可能再次出现问题。Tricky,将之前的老版本重新编译,只是将版本号改为最新的一个,插件也同样处理,这样一来看上去更像是升级而不是倒退。中午的时候,完成了“升级”操作;ZK和DSG的工作人员也被召集,对Oracle的日志进行分析,最终修改了一些内存空间分配的参数,但是基本上还是认为问题出现在应用上。参数修改之后,数据库可以承受的连接数更多了,但是下午的时候还是不断有连接数过高的情况,一个WebServer居然有超过1000个数据库连接(参数调整之前,Oracle就已经无响应了)。一直折腾到了晚上快七点的时候,我灵机一动,想起了很早之前的一些故障处理方式,在WebServer上看到了Winword.exe进程的残留,另外aspnet_wp.exe进程占用的内存也夸张的达到500M之上(服务器内存4G),结束aspnet_wp.exe进程之后,数据库的连接立刻被清除,比之前采用的禁用网卡或者关闭WebServer效果还要理想。处理完故障之后,和老婆大人在附近的小饭馆吃了河南烩面和石锅拌饭。晚上回到办公室,发现如果杀掉残留的winword.exe进程,那么aspnet_wp.exe的内存占用会缓慢下降,而连接数也随之减少。在办公室呆到11点半,回家睡觉。
周六,早上八点多起来就上办公室去了,担心服务器会出问题。办公室人倒是不少,单位领导也在,WebServer上一度出现了连接数过多的情况,不过kill掉驻留在内存里的winword.exe进程后连接数就慢慢恢复正常状态,在连接数过高的时候也曾经试过结束aspnet_wp.exe进程,更是立竿见影屡试不爽;不过这些故障似乎与微软没有什么太大的关系,问题应该还是在Web应用程序上。中午一个人在家番茄鸡蛋炒剩米饭,吃了不少,然后去踢球。本年度的前两场比赛都赢了,这次的对手据说比较强。开场之后,确实对方的实力比较强,运转比较流畅,年龄和身体也比较有优势;而我方似乎没有发挥出最佳状态,此消彼长,最终以2:3告负,如果运气稍好,也许会是平局,但是不得不甘拜下风。四点钟之前回到家里,然后和老婆大人去吃坪亭日本料理自助,庆祝入城三周年。老婆大人之前特意打电话订位,后来发现,还真有等位的;等自助的位,应该是更漫长一些。选择榻榻米,不过也就是徒有其表而已,连脱鞋都免了;另外,环境似乎有些吵杂。服务生说¥108的自助和¥168的差别并不大,更多的差是在酒水上,所以就毫不犹豫地要了¥108的。第一轮点了不少东西,包括刺身拼盘、烤鳗鱼、烤青田鱼、蟹仔寿司等等,还要了两壶清酒,后来发现清酒还是趁热喝口感比较好。准备点第二轮的时候,已经有些饱了,但还是又点了烤鳗鱼和烤三文鱼等,结果就吃撑了。老婆大人不喜刺身,所以那个拼盘基本上都被我吃掉了,芥末酱油,不过有些鱼不认识,算是过了把瘾。感觉还不错,性价比应该也还可以接受。看到旁边有人等位,提前结帐走人。回家之后感觉比较累,于是就先睡了一小会儿,十点钟爬起来上网,修改程序,睡得比较晚。
周日,早上八点钟昏昏沉沉的起来,洗了把脸,就出门一年一度的“学雷锋”去了。十点多回到家里,结果服务器有些异常,一个没有人使用的WebServer,居然“自行”连接数据库,并且一度有超过一百个连接,还真是让人纳闷。中午和上午一起参加活动的同事吃饭,在附近的面馆,我吃了西红柿鸡蛋刀削面,倒是比之前吃过的番茄牛肉炒刀削面要好吃一些。中午回家感觉非常的困倦,于是就躺在床上晒太阳,居然睡着了,直到小时工来打扫房间。三点钟开始上网,老婆大人出门去逛街了。晚上在家里吃饭,蒜薹肉丝,韭黄炒鸡蛋,还有一条从食堂买回来的罗非鱼。吃饭的时候陪老婆大人看《Slumdog Millionaire》,我之前就看过,不过即使看第二遍仍然觉得非常好。晚上九点半,开始处理CMI程序的遗留问题,程序的接口略有修改。剩下的时间用来清理订阅,不过有大约超过60条技术类订阅没有看完。
本周大概有至少五个晚上睡觉比较晚,有四个中午踢球,周六还踢了大约70分钟的大场,感觉身体略有疲劳,不过还是有所收获。
下周可能还会为服务器和CMI的事情耽误一点时间,剩下的精力打算全部放在5G上面,现在已经比我自己的计划要慢一些了;本周遗留了一些技术类的订阅没有看完,下周挑出一些有价值的看一下;另外就是争取每天在12点之前睡觉。