Rumah  >  Artikel  >  pangkalan data  >  10倍以上提高Pentaho Kettle的MySQL写入速度

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

WBOY
WBOYasal
2016-06-07 15:52:471629semak imbas

使用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如何实现功能,对连接参数可以说基本不关注,但这样的速度提升摆在面前,不熟悉这些性能参数,要想提高性能还真的不容易,写出来也是希望碰到相同问题时能有点参考,因为使用百度,完全搜索不到^_^,写点中文的,希望能被收录

 

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:python mysql数据库 'latinArtikel seterusnya:Mysql创建、删除用户