码农之死 #36 - 往事 - 工作的优先级
本小说连载于文集:码农之死 - 连载 - 简书 (jianshu.com)
通常导致系统性能变差的原因有很多,但吕梦首先怀疑的对象是DB2数据的各种操作速度。
要确认也很简单,他在代码中加了一些日志记录程序的运行时间再一分析就发现果然不错。现在一旦程序运行涉及到DB2的增删改查就会变慢,而且有时时间会超过十秒。
问题原因一旦查明,下一步该干什么就很明确。可吕梦并不是DB2专家,具体的调优工作他打算让高飞来执行。一方面高飞是DB2开发出身,这工作交给他再合适不过,另一方面高飞是自己的老部下,他应该不会推脱。
不过吕梦也知道这工作量可能很大,高飞的小组也许没法把活都揽下来。如果真是这样,那就还得把欧宇华和杨定兴也给拉进来。
果然,高飞听说要做DB2性能调优先是表示这事早就应该做了,而且他也知道具体要怎么做。那些存储过程所去操作的数据库表大部分都是几年前就建好的,随着后续的需求开发,一些新添加的字段却并没跟着放到查询索引中去,渐渐地当然就会越来越慢。
除去更新索引,高飞认为这个调优可能还需要把存储过程中的SQL语句也都检查一下。他早就发现这些被几个开发组不断改来改去的存储过程里面有很多SQL都写得既不优雅也影响执行效率,如果认真修改一下也将会减少执行时间。
但他随即提出,这些工作的工作量不是个小数目,自己一个小组是无法完成的:“不会让我们组全都做了吧?”
已经不是组长的吕梦很理解高飞的顾虑,这件看似很重要而且由张红雷交代的工作在考核中能占多大比重并不好说,毕竟张红雷并不是年底打分的那个人。而姜赟一向更重视业务需求的完成情况,她可不用对技术方面的事情负责。虽然说起来这也是为了解决来自用户的抱怨,按道理也可以算在业务支持这一考核项里,但凡事还是得多方面考虑,不能把鸡蛋都放在一个篮子里。
吕梦便问高飞:“那你觉得应该怎么办才好?”
高飞不假思索就提出:“要么咱们就把其他两个组都拉进来?”
看起来也没有别的办法,不过吕梦知道这件事不能自己做决定,还是得靠经理出面,而且最好是张红雷这个高级别经理。毕竟自己是被张红雷提拔的,这件事也是应他人所托。
于是一个连张红雷带姜赟两位经理在一起的会议邀请就被发了出去。会议上吕梦先是表述了一番自己是如何发现性能问题瓶颈所在,然后就说这问题具体解决需要高飞这样的专家来执行才好,最后他才提出会议要讨论的主旨,工作量太大一个组干不了,需要几个组一起参与。
张红雷一点没有犹豫当即就表示没问题:“那就让大家都参与进来。”
吕梦和高飞听了很高兴,他们知道领导也没有别的选择,不过这个决定就是需要从他嘴里说出来而已。
吕梦顺势提议:“我的想法是高飞作为有多年DB2经验的专家,可以先给大家做个关于如何进行调优的培训。另外等具体工作分到各个组以后,他还可以帮大家检查一下调优以后的结果是否符合预期。”
这个提议说是让高飞奉献,其实是给他争取来了调优工作的主导权。无论现在还是将来吕梦都需要来自老部下工作上的支持。
张红雷又表示同意,紧接着还提出干脆让姜赟和王荣两个部门的所有小组都把自己负责的DB2数据库进行一次调优,虽然现在他们还没听说暴露出过性能问题,不过可以防患于未然嘛。
这下吕梦和高飞大喜过望,张红雷给的支持简直超出预期。
吕梦作为报价和订单两个系统的架构师其实目前却还说不上对订单那边有太多了解,张红雷这下算是给了一个介入的机会。
而把王荣手下的两个小组也给卷进来则更是让高飞的影响力扩散出了自己所在的部门。一个刚上任的组长却要去主导六个小组的工作,这事情结束以后姜赟不给个高分的考评估计她自己都会不好意思。
两天后,踌躇满志的高飞就迫不及待地拉起了DB2调优工作的第一次会议,把几个小组长都给叫到了会议室。
他先是询问各个组长是否已经从经理那里知晓事情的背景,然后就在投影上开始展示如何开展具体的调优工作,为此他还精心准备了一个演示文档。
半个多小时的演示完毕,高飞问:“大家对刚才介绍的具体调优过程有没有什么问题?”
然而没有人回答他,看起来大家都听懂学会了。
高飞也就当大家都会了,接着就说:“这次红雷对咱们的期望是能在一个月的时间里把各自团队内负责的所有DB2表和存储过程都完整的进行一次调优。最后也会由我来检查各个组调优的成效是否达到了预期。”
这下等于宣示了带着尚方宝剑的钦差大臣身份,而且还给了一个具体的期限。
杨定兴有点慌。自己的小组人手还没齐,那个新的审批模块也有工期要求,要是再分些什么调优工作过来,那肯定忙不过来。
不过这里外人太多,杨定兴准备会后再问。
欧宇华却直接但又客客气气地问起了报价三个组如何分活的事情,似乎没拿其他几个组长当外人。
而高飞也早就做好了准备,他不慌不忙地回答:“我已经把咱们这边所有的表和存储过程整理过了,大概怎么分我做了一个列表。定兴那人没齐,最近事儿也比较紧,我给他只分了十张数据表的调优。剩下的三十几张表加六十多个存储过程,咱俩一人一半。”
按理说得到这样的答复应该没啥问题了,可欧宇华一改平日话不多的习惯又接着问:“那些存储过程,我记得有的还挺复杂的,不过有的也挺简单。对吧?”
高飞明白欧宇华在担心什么,笑了笑说:“放心,我分得绝对公平。咱俩拿到的所有存储过程里的代码行数基本是相同的。最长的那个存储过程,我留在我自己这了。”
这下欧宇华满意地笑了。
欧宇华满意了,可Joanna却不高兴。散会以后她回到工位就开始向王荣抱怨:“怎么这个还有时间期限啊?到时候他还要检查成果!”
当初王荣通知Joanna的时候也不知道会有个具体期限最后还要检查成果,听了Joanna从会上带回来的信息她也没办法,人家是张红雷的钦差大臣,说什么就只能是什么了。
Joanna的不满还没有发泄完:“这事儿真烦!他们那边性能差,为啥要扯上咱们啊?”
吴晓文这时在隔壁一排插嘴说:“一个月呢?慢慢做呗!我这边没几个要改的。你们那边多吗?”
“可我们还有别的事儿呢!杨定兴那个组不是要做一个新模块吗?他那又要改cookie,我得赶紧先弄这个呀!那不也是为了他们报价吗?”
吴晓文知道自己多嘴了就不再说话。
“那肯定还是得以业务上的事为重,得先给人弄这个。”王荣跟姜赟一样更关心正式需求的交付。
“那我们仨就还是先给杨定兴做他要的那个了啊!”
“行!调优那个等有时间了再做。”
老张和贾承孰在一旁静静地看着自己的经理和组长商定好原先的工作优先级不变,就回过身继续自己的工作。贾承孰暗暗庆幸:“还好他们都不知道我之前还做过一点DB2开发。”
现在贾承孰已经开始跟着开始修改Java代码,终于也算是在正式Java开发项目里工作过。可如今再出去面试不是只靠看几本Java入门书上的概念就够的,他要学的还很多。
于是几个人还是按部就班地先紧着杨定兴的需求进行开发,暂时把DB2调优的工作抛到了脑后。
尽管看起来时间还挺紧迫,但期间王荣依旧安排吴晓文,Joanna和贾承孰出了一天“差”,他们去参加了张杰家人的葬礼。
张杰母亲的病情在耗尽家里本就不多的积蓄后却一直没见有起色,老人也已经苦捱了一年多。如今她终于在这个春天彻底摆脱痛苦离开了人世,张杰也在三天前就赶了回去。王荣打听到这天是下葬的日子,一早就跟吴晓文,Joanna和贾承孰说让他们去一趟张杰家里,代表公司和部门出席。老张则被王荣留下来看家,否则部门里只剩一个经理也不好看。
“开车去,回来给你俩把油费报了。送花圈的钱也给你们报。”
于是三个人两辆车就驶往城外,往张杰家的方向去了。