PDI 使用了下面的技术来提高性能:
1. 数据库连接池。
2. 多线程并发进行数据转换: 转换步骤是并发执行的,使用生产者/消费者的模式,每个步骤由一个线程来执行,当前步骤将一次处理完的数据放在缓存里,由下一个步骤的线程读取并再处理这些数据。
3. 数据批量装载: 表输出步骤中设置批量装载。
4. 对于某些数据库还利用了数据库自身提供的装载工具, 如 Oracle 的 SQLLoader. 在 PDI 3.1 中提供了该功能。
5. 集群: 主服务器 (master server) 将大任务分解为多个小任务, 并将要处理的数据通过 soket 发送到从服务器(slave server), 由多个从服务器同时处理. 从服务器需要启动 carte 服务,以便建立连接接受数据。
一个简单的性能测试:
测试环境:
CPU 1.5G
Memory 1G
OS Windows 2000
PDI 3.1
Oracle 9i
10/100M 以太网
测试内容:
从一台机器的 Oracle 向另一台机器的 Oracle 迁移数据
测试结果:
1. 当使用普通的 table output 输出步骤,批量装载设置为500, 平均速度达到 7998 条记录/秒.
2. 当使用 SQLLoader 输出步骤,平均速度达到 10021 条记录/秒
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14366449/viewspace-1007334/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/14366449/viewspace-1007334/