我需要导入文本文件(无结构,仅逐行数据),但在我看来它可以做得更好。我已经对logstash配置进行了一些更改,并使用-b和-w选项获得了大约200%的收益(我发现了最佳的发现)。但是仍然太慢了,无法满足我的需求。
硬件:i5 7600k @ 4.5GHz,32GB DDR4 ram,SSD intel 512GB文件:26GB,〜800 000 000行-b 1000和-w 16选项的当前速度:2 500 000 每分钟〜41 000
每秒
我正在寻找的速度约为每秒50万次。
Logstash配置文件:
input {
file {
path => "/home/w-nsa/dataset.txt"
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
output {
elasticsearch {
hosts => "http://8.8.3.2:9200"
index => "test"
}
}
答案 0 :(得分:1)
您的瓶颈可能是Elasticsearch方面的索引速度。
如何配置服务器? Logstash和Elasticsearch在同一台计算机上吗?每个Java堆都有什么?
这个来自Elastic的guide具有一些提高索引速度的技巧。
您应该尝试建立数据索引并使用user_id
和user_id
之类的工具监视elasticsearch计算机上的IO,以查看计算机在重负载下的运行情况。