记第一次上线

    今天进行了人生第一次上线,感受颇深,编写线上模块和线下模块是完全不同的,这里具体描述一下~

     其实我开发的功能是很简单的,是功能的迁移和升级,都有模板可以对照写。很快写完了,几个小时完成,剩下的就是漫长的流程了,具体流程不表。首先要过的关是测试,感谢我们的QA兄弟,在代码复查的时候发现了两个Bug,都是原先模块就存在的,我在自测的时候并没有发现,都是和循环中的变量有关的,这里总结一点就是当有多重循环,一定要注意变量的变化,尤其是要作为循环结束标志的那些变量。总之顺利解决了,这个也没啥稀奇的。

      各种流程审批通过了,就是上线了,OP来执行具体的上线操作。然后,异常发生了,线下毫无问题的脚本,QA哥哥也测试通过了,上线就报警了,原因是超时。原来1分钟得执行完的,我的跑了15分钟。经过查看各种日志,定位到问题在于:由于脚本功能的增加,执行一次任务所需的时间长了,原来1分钟可以执行50次的任务,我只能执行3次,但是我没考虑到要改配置文件,所以超时。然后修改,正常。。。

      值得一提的是,关于“负载均衡”,我不知道我描述的问题是不是属于这个范畴。就是我一次循环中要执行5个子任务(原先只有2个),其中2个任务比较耗时,负担比较重,3个任务比较轻,我每个子任务结束之后会休眠。然后我把两个最重的子任务放在了一起,这就导致在脚本实际执行的时候,前30秒负担很重,后30秒几乎都在休眠中度过。。看来写线上的程序,子函数的顺序也至关重要了!

      收获好大,这就是之前所追求的吧。线下的Demo,往往只注重功能,但是要上线给用户使用,特别是有着巨大用户量的应用,要考虑的问题就多太多了~以后我要多注意些这方面知识的积累,我想再去读这些书就好懂了~

posted @ 2013-03-25 17:13  明之道  阅读(242)  评论(0编辑  收藏  举报