性能优化

来源:互联网 发布:广告公司常用的软件 编辑:程序博客网 时间:2024/05/07 13:17

1.软件设计--软件设计(首次3.5;再次1.5)
数据是直接从数据表中读取,因为多个表关联查询,后台读取并构建成Model对象列表需要1s,现在改用新增一个预处理,将其连接查询结果放在这个表中,汇总页面读取的时候直接读取,耗时几百毫秒

2.测试与验证--自动化能力(首次5s,再次1s)
数据是直接从数据表中读取,与上类似

3.测试与验证--测试执行--用例执行(首次5s,再次1s)
数据仍从数据表中直接查询,同上

4.迭代健康度--PDU一览表(首次4.5s)
数据调用存储过程查询得到,耗时2.6s,现在采用二级预处理,直接将最终的数据存入到表中,用IsShowLast来区分是否显示上个迭代,如果是true,则显示,否则不显示只显示当前迭代信息表名:t_Biz_IterateHealth_Sp,存储过程修改了[usp_Biz_GetIterateHealthModelList]

5.软件KPI--PDU一览表(首次5s)
后台计算代码存量(重复)、代码存量(不含重复)耗时1.6s,以前table有两个,调用JS时间过长,以及DIV插件绘制过长,耗时3s(目前数据表连接的是204,用的t_report_pdukpi_1)
优化方案:数据从后台读取,不计算,需要在t_Report_PDUKPI中新增三个字段(CodeSizeRepeatScore、CodeSizeScore、CodeSizeTip,CodeSizeTip中存储含重复,不含重复的提示信息中去年,今年,增量三个值,值用,隔开,而重复和不重复的tip用;隔开)
给每行高度设置改为给PDU得分设置即可
NA循环设置颜色修改
去掉多余的TAB点击事件,因为TAB切换就注册了点击事件
去掉summarytable.css,因为只用了里面的div样式,把此样式放到report.css
去掉jquery.ui.core.js、jquery.ui.widget.js两个js文件
注:如果保留两个table,那么呢,DIV的显示不耗时因为在后台构建,而循环给列的值为NA的设置颜色需要循环,以及背景色设置和链接添加

软件KPI--KPI详细信息(首次5s)
从t_Report_KPIDetails表中读取列表,计算代码存量(耗时1.6s),分别循环两个列表得到存量的实际值和得分
优化方案:直接从t_Report_KPIDetails读取数据,代码存量(含重复)、代码存量(不含重复)的挑战、达标、底线以及得分和实际值各5个字段预处理时存入数据表中,其中除了得分字段外的其他字段值存储的时候加上百分号,前台读取直接不用任,何转换并每隔一定事件去更新数据表,方案同PDU一览表;另一个性能瓶颈是前台Js循环三次合并行,用时2s,将合并的行数存入到数据表中,需新增DURowSpan、PDURowSpan、ProductRowSpan,在前台构建表格的时候DU、PDU、产品以及针对产品的指标跨行使用,针对产品的指标跨行用ProductRowSpan,目前是直接在后台Handler合并行,没有将跨行存入到数据表中,共用时500ms

软件KPI--目标确认(首次5s)
后台直接从t_Report_TargetInfo中读取数据列表,然后GA至年终底线达标挑战取整,直接将删除数据的.之前的数据;前台设置NA的显示颜色以及单元格合并(DU、PDU、产品),现在从数据表读取整个列表来构建表格所需时间为563ms