Database Kafka连接流和Postgresql数据文件读取性能低下
我正在使用Kafka Connect对一个包含250000000条记录的数据库进行流式处理。从源头上阅读并不是问题,它完全是在一个不明显的时间段内阅读的,并存储在卡夫卡的经纪人中。不过水槽的速度非常慢,需要几天才能完成 我正在使用具有以下配置的JDBC接收器连接器:Database Kafka连接流和Postgresql数据文件读取性能低下,database,postgresql,apache-kafka,apache-kafka-connect,Database,Postgresql,Apache Kafka,Apache Kafka Connect,我正在使用Kafka Connect对一个包含250000000条记录的数据库进行流式处理。从源头上阅读并不是问题,它完全是在一个不明显的时间段内阅读的,并存储在卡夫卡的经纪人中。不过水槽的速度非常慢,需要几天才能完成 我正在使用具有以下配置的JDBC接收器连接器: "config": { "auto.create": "true", "auto.evolve": "true",
"config": {
"auto.create": "true",
"auto.evolve": "true",
"connector.class": "io.confluent.connect.jdbc.JdbcSinkConnector",
"insert.mode": "upsert",
"pk.fields": "id",
"pk.mode": "record_value",
"tasks.max": "20",
"batch.size": "5000",
"max.poll.records": "5000"
}
我正在使用一个aws postgres RDS实例:db.m5.4xlagle(8核16vcpus 64gb ram)
接收器表除了主键之外没有其他索引。使用RDS性能分析,DataFileRead和WALWriteLock消耗了绝大多数活动(DataFileRead约60%,WALWriteLock约30-40%)
我不熟悉数据库速度和管理,这是典型的性能吗?如果没有,我可以研究哪些方法来提高性能?这是不是我的实例不够强壮,无法处理写操作
这是数据库负载的图像,当我删除受影响的接收器表上的所有索引时,靠近尾端的绿线增长
在发布前大约20分钟,我清除了主键以外的所有索引。这大大增加了处理时间,现在已经处理了数百万行。在发布前大约20分钟,我清除了主键以外的所有索引。这大大增加了处理时间,现在已经处理了数百万行