zoukankan      html  css  js  c++  java
  • 记第一次上线

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

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

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

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

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

  • 相关阅读:
    转dhdhtmlxTree
    转Merge的用法
    解决SqlServer2008评估期过期
    借鉴一下对比算法
    Asp.Net异常:"由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值"的解决方法
    查看Windows下引起Oracle CPU占用率高的神器-qslice
    今日有奖活动一览
    【分享】给做技术的战友们推荐一个不错的微信公号解解闷
    Unreal Engine Plugin management
    当在ECLIPSE中import现存项目时,如遇到版本不符
  • 原文地址:https://www.cnblogs.com/ITEagle/p/2981094.html
Copyright © 2011-2022 走看看