Heim  >  Artikel  >  Datenbank  >  10倍以上提高Pentaho Kettle的MySQL写入速度

10倍以上提高Pentaho Kettle的MySQL写入速度

WBOY
WBOYOriginal
2016-06-07 15:52:471574Durchsuche

使用Pentaho Kettle做了个数据抓取入库的程序,大致这个样: 使用文本调测的时候,速度大概7500条/秒,但是换上数据库后,速度只有150条/秒,对于20万左右的数据入库要超过20分钟,这让人没法接受。 使用批量插入好像也没什么效果,依然慢 求助Google,找到

使用Pentaho Kettle做了个数据抓取入库的程序,大致这个样:


10倍以上提高Pentaho Kettle的MySQL写入速度
    使用文本调测的时候,速度大概7500条/秒,但是换上数据库后,速度只有150条/秒,对于20万左右的数据入库要超过20分钟,这让人没法接受。

   使用批量插入好像也没什么效果,依然慢


10倍以上提高Pentaho Kettle的MySQL写入速度
 求助Google,找到了2个参考:

   参考1:http://julienhofstede.blogspot.nl/2014/02/increase-mysql-output-to-80k-rowssecond.html

   参考2:http://forums.pentaho.com/showthread.php?142217-Table-Output-Performance-MySQL#9

   

描述的基本一致,根据参考调整了连接参数:

Java代码 10倍以上提高Pentaho Kettle的MySQL写入速度 10倍以上提高Pentaho Kettle的MySQL写入速度10倍以上提高Pentaho Kettle的MySQL写入速度

  1. useServerPrepStmts=false  
  2. rewriteBatchedStatements=true  
  3. useCompression=true  
useServerPrepStmts=false
rewriteBatchedStatements=true
useCompression=true

  数据写入速度马上提升到2300条/秒左右,开3个线程,写入速度就与文本写入差不多了。

 

  也算写了很长时间的代码,使用Kettle也算有一段时间,一般只是关注Tranaction如何实现功能,对连接参数可以说基本不关注,但这样的速度提升摆在面前,不熟悉这些性能参数,要想提高性能还真的不容易,写出来也是希望碰到相同问题时能有点参考,因为使用百度,完全搜索不到^_^,写点中文的,希望能被收录

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:python mysql数据库 'latinNächster Artikel:Mysql创建、删除用户