在做性能测试平台的优化过程中,由于启动任务相对其他测试任务比较频繁,而目前30次两个包的交叉对比(30次)测试需要耗时30分钟整,因此打算优先对测试流程做一次优化,将测试时间消耗降低到20分钟。

由于一开始估计乐观,认为启动时间,一台设备理论上启动顶多1s,1*2*30也就60s,加上其他开销,5分钟都够了,能减少到20分钟应该小半天就能做完了。

于是就来到了第一步:

1.review代码流程

(1)把启动流程里相关的sleep全部review一遍

确实有一点效果,因为有一部分sleep在启动任务执行阶段,60倍杠杆放大后很可怕,因此去掉部分sleep,居然就减少到了23分钟了。

第二步一时想不出了,方法耦合嵌套相当多,而且适配多个版本的产品,迁一发动全身,第二步想到的就是将可疑方法监控起来

 

2.将可疑方法的耗时监控起来

为了方便监控,增加了两个个装饰器来统计耗时

万码学堂,电脑培训,计算机培训,Java培训,JavaEE开发培训,青岛软件培训,软件工程师培训

def costs(fn):    def _wrapper(*args, **kwargs):
        start = time.time()
        fn(*args, **kwargs)        print "%s 函数cost %s 秒" % (fn.__name__, time.time() - start)    return _wrapperdef costs_with_info(info):    def _wrapper(fn):        print "info: " + info        return costs(fn)    return _wrapper

万码学堂,电脑培训,计算机培训,Java培训,JavaEE开发培训,青岛软件培训,软件工程师培训

延伸阅读

学习是年轻人改变自己的最好方式-Java培训,做最负责任的教育,学习改变命运,软件学习,再就业,大学生如何就业,帮大学生找到好工作,lphotoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训学习是年轻人改变自己的最好方式