我正在使用Logstash处理从Postgres数据库到弹性数据库的500 000条记录,但完成该过程需要40分钟。我想减少处理时间,我已经更改了管道。批处理大小:1000,流水线.批处理.延迟:50,并在JVM中将堆空间从1 GB增加到2 GB。同时,选项文件仍在处理记录。
配置文件
input {
jdbc {
jdbc_driver_library => "C:\Users\Downloads\elk stack/postgresql-42.3.1.jar"
jdbc_driver_class => "org.postgresql.Driver"
jdbc_connection_string => "jdbc:postgresql://localhost:5432/postgres"
jdbc_user => "postgres"
jdbc_password => "postgres123"
statement => "SELECT * FROM jolap.order_desk_activation"
}
}
output {
elasticsearch {
hosts =>["http://localhost:9200/"]
index => "test-powerbi-transformed"
document_type => "_doc"
}
stdout {}
}
1条答案
按热度按时间yzuktlbb1#
问题不在于logstash管道或批处理大小。如上所述,获得卷所需的时间更少。
这可以通过使用“并行提示”来实现,它可以使查询超快,因为查询开始使用核心处理器和数据库基础设施(在应用此功能之前,请不要错过咨询您的DBA)。一旦您开始在更短的时间内获得卷记录,您就可以扩展您的日志存储或调整管道设置。请参阅this link。