您的位置:首页 > 其它

记一次性能调优过程

2015-07-09 01:43 288 查看
前一阵子参与了公司数据迁移工具的一些优化,现将优化过程及思路作为记录。

背景:昆明十几家法院电子卷宗数据迁移,从老系统迁移到新审判系统,数据库为集中部署,材料(多为图片),存在ftp(老系统ftp为分布部署)上,大概有5-6家在300G以上,剩余每家平均80G左右。

困难:原程序迁移过程需要将材料进行数据同步-->下载-->转换-->上传、入库-->制作5个步骤,初期时间大多浪费在下载步骤,仅一家约180G文件大概下了9天左右。

分析:经分析,各步骤可优化空间如下:

(1) 同步卷宗映射:原程序辅助映射表各进程间不支持并行,可修改为并行;

(2) 同步卷宗表:优化空间较小;

(3) 下载:可将迁移服务搭建在老系统ftp服务器上,将原程序访问ftp方式改为访问本地方式,同时增加图片压缩减少后期转换的时间;

(4) 上传:可根据原程序上传ftp结构,现将文件上传至本地,后将各家院上传内容复制到新系统的ftp上,或者将新系统ftp也迁移至该服务器,减少ftp访问;

(5) 制作:制作过程中涉及的ftp操作,也可象上述描述一样,使用读取本地的方法。

思路:步骤3、4、5原来基本都是和ftp做交互,访问ftp肯定不如访问本地文件来的块,因此应尽量使用访问本地文件的方式;

由于系统设计访问ftp是基于公司的大对象存储组件开发的,可经过配置自由转换存储ftp和存储本地文件的方式,降低了改造成本。

程序个步骤都是只能按顺序依次执行,效率很低,由于映射表中存储了案件的收、结案日期,可以修改程序,达到分时间段操作各个步骤的方式增加并行机制。

另外,步骤3、4、5可以采用多线程处理,充分利用系统资源。

效果:经改造后,一家300G的卷宗仅用一个周末将全部流程走完,900G的卷宗在工作日只能下班时间运行程序的情况下,一周之内全部完成。

总结:本次在程序各个步骤的改动其实并不是很大,但是效果比较明显,其主要思想,是尽量能充分地利用服务器资源,采用多进程、线程的方式并行作业,提高作业效率;将ftp访问模式改为本地文件访问,减少网络开销。其实优化并不一定需要在程序中改进算法,大量重构才能得到效果,根据具体问题集体分析,少量改动也可以有很显著的效果。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: