我们在基于 Tomcat 8.5 的 AWS EC2 实例 (CentOS) 上运行 Matillion (v1.54)。到目前为止,我们已经开发了一些 ETL 作业,它们的执行需要相当长的时间(即长达数小时)。我们想加快我们工作的执行速度,我想知道如何识别瓶颈。
让我感到困惑的是,m5.2xlarge
EC2 实例(8 个 vCPU,32G RAM)和数据库(Snowflake)都不是很忙,而且大部分时间似乎都处于空闲状态(关于 CPU 和 RAM 的使用情况,如图所示top
)。
我们的环境配置为使用多达 16 个并行连接。我们还添加了 JVM 选项-Xms20g -Xmx30g
以/etc/sysconfig/tomcat8
确保 JVM 获得足够的 RAM 分配。
我们的 Matillion 作业进行转换并加载到许多表中,其中大部分可以(并且应该)并行完成。我们仍然看到,大多数任务都是按顺序处理的。
我们如何加强这一点?