记一次性能调优过程

原创 2015年07月09日 01:43:09

前一阵子参与了公司数据迁移工具的一些优化,现将优化过程及思路作为记录。


背景:昆明十几家法院电子卷宗数据迁移,从老系统迁移到新审判系统,数据库为集中部署,材料(多为图片),存在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访问模式改为本地文件访问,减少网络开销。其实优化并不一定需要在程序中改进算法,大量重构才能得到效果,根据具体问题集体分析,少量改动也可以有很显著的效果。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

记一次性你调优 IO瓶颈

iostat -x -d -m 1 10 Linux 2.6.32-279.el6.x86_64 (localhost.localdomain)     03/03/2014      _x86_6...

一次性能调优的实战

原文: http://ronghao.iteye.com/blog/235294   2008-09-01 一次性能调优的实战 博客分类: 技术 WeblogicOracleSQLT...

一次性能调优的实战

项目情况:是一个大型公司的内部办公系统,该系统有两个和一般企业应用不太一样的特点:一是用户量非常多,人员数达到2W左右,另一个是采用分级管理的形式,各个分公司数据分开管理。 我们的定位:我们是作...

记录一次压力测试 weblogic 11g 调优过程

最近做一项目,记录下,供大家参考,也供自己以后查阅:)   OS:Linux gdap1 2.6.18-194.1.AXS3 #1 SMP Fri May 7 10:03:53 CST 2010 ...

JVM 性能调优实战之:一次系统性能瓶颈的寻找过程

玩过性能优化的朋友都清楚,性能优化的关键并不在于怎么进行优化,而在于怎么找到当前系统的性能瓶颈。 性能优化分为好几个层次,比如系统层次、算法层次、代码层次…JVM 的性能优化被认为是底层优化,门...

java多线程程序性能调优 优化过程

我, 一多年c++开发,由于项目原因需要对一个性能底下的多线程java程序进行调优,百度google了几把,妈蛋,没有发现指导如何java线程调优的文章啊,都是一些java使用规范,我去,那我大jav...

JVM学习:使用visualGC调优Eclipse启动过程

最近在学习JVM,了解了一些关于JVM的内存分配和垃圾回收的知识,其中有有一个实战是优化Eclipse的启动,从类加载时间、JIT编译时间、垃圾收集时间三个方面做了优化,简单、综合性强,可以加深对JV...

某大型银行某系统性能调优过程跟踪记录

一、           问题调优跟踪 1.     事务数1/秒,调整后4 /秒(对单测一支交易) 2013/1/3,启动压力测试后,事务约:1个左右每秒,经修改调整weblogic启动 JVM...
  • namesliu
  • namesliu
  • 2013年06月15日 01:23
  • 10614

hadoop作业reduce过程调优使用到的参数笔记

摘自:http://datalife.iteye.com/blog/930318 reduce的运行是分成三个阶段的。分别为copy->sort->reduce。 由于job的每一个map都会根据...

第一帖来谈谈运维服务管理过程中的制高点:系统性调优

运维服务的重要性在今天已经越来越得到大家的认同了。但是尽管大家都知道它重要,却往往陷入只有苦劳、难见功劳的困境中。的确,相比起在一张白纸上画图的集成,运维不是那么好出成绩。不过,不好出成绩并不代表不能...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:记一次性能调优过程
举报原因:
原因补充:

(最多只允许输入30个字)