Kettle(Pentaho Data Integration)性能测试报告

225 阅读1分钟

由于作业中不同的参数设置会极大的影响运行耗时与资源消耗,而此报告的参数设置还有其他优化空间,估测试结果仅供参考。

测试环境

  • Centos7(32G 内存,8 核 CPU)
  • MySQL8.2.0
  • Kettle9.2

场景一

测试场景

一千万数据从 A 机器的 MySQL 库抽取到 B 机器的 MySQL 库中。

测试数据

A 机 MySQL

  • 数据条数:一千万
  • 单表大小:652 MB
CREATE TABLE `users` (
  `id` int NOT NULL,
  `name` varchar(100) DEFAULT NULL,
  `email` varchar(100) DEFAULT NULL,
  `age` int DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

image.png

B 机 MySQL

  • 数据条数:一千万
  • 单表大小:652 MB
CREATE TABLE `users` (
  `id` int NOT NULL,
  `name` varchar(100) DEFAULT NULL,
  `email` varchar(100) DEFAULT NULL,
  `age` int DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

image.png

测试结果

运行耗时

总耗时 6 分 11 秒。

image.png

image.png

资源消耗

内存占用 5.8g,CPU 占用 1 核的百分之 61.5。

image.png

场景二

测试场景

一千万数据从 A 机器的 Excel 文件中抽取后写入 A 机器的 MySQL 数据库。

测试数据

Excel

  • 数据条数:一千万
  • 文件大小:239 MB

image.png

MySQL

  • 数据条数:一千万
  • 单表大小:652 MB
CREATE TABLE `users` (
  `id` int NOT NULL,
  `name` varchar(100) DEFAULT NULL,
  `email` varchar(100) DEFAULT NULL,
  `age` int DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

测试结果

运行耗时

总耗时 7 分钟。

image.png

image.png

资源消耗

占用 5.8g 内存,CPU 不到 1 核的百分之 80。

image.png