elasticsearch 使用logstash到ElasticSearch的数据集导入速度较慢,elasticsearch,logstash,kibana,elasticsearch,Logstash,Kibana" /> elasticsearch 使用logstash到ElasticSearch的数据集导入速度较慢,elasticsearch,logstash,kibana,elasticsearch,Logstash,Kibana" />

elasticsearch 使用logstash到ElasticSearch的数据集导入速度较慢

elasticsearch 使用logstash到ElasticSearch的数据集导入速度较慢,elasticsearch,logstash,kibana,elasticsearch,Logstash,Kibana,我需要导入文本文件(没有结构,只是逐行数据),但在我看来它可以做得更好。我已经对logstash配置做了一些更改,并使用-b和-w选项获得了大约200%的收益(我发现了最佳点)。但对于我的需求来说,它还是太慢了 硬件:i5 7600k@4.5GHz,32GB DDR4 ram,SSD intel 512GB文件:26GB,~800 000000线-b 1000和-w 16选项的当前速度:2500000 每分钟约41000 每秒 我要找的速度大约是每秒50万次 日志存储配置文件: input {

我需要导入文本文件(没有结构,只是逐行数据),但在我看来它可以做得更好。我已经对logstash配置做了一些更改,并使用-b和-w选项获得了大约200%的收益(我发现了最佳点)。但对于我的需求来说,它还是太慢了

硬件:i5 7600k@4.5GHz,32GB DDR4 ram,SSD intel 512GB文件:26GB,~800 000000线-b 1000和-w 16选项的当前速度:2500000 每分钟约41000

每秒

我要找的速度大约是每秒50万次

日志存储配置文件:

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"
    }
}

您的瓶颈可能是elasticsearch端的索引速度

您的服务器是如何配置的?Logstash和Elasticsearch在同一台机器上?每个Java堆的Java堆是什么

这篇文章提供了一些技巧来提高索引速度


您应该尝试索引数据,并使用
iostat
iotop
等工具监控elasticsearch机器上的IO,以查看机器在重载下的行为。

在多个日志库上运行它instances@Mysterion我认为这不是一个好主意:这意味着重复JVM开销,尤其是-w选项允许并行化进程。@baudsp如何使其更快?:)@神秘号我不认为我可以,除非增加更多的机器来分担他们之间的工作。但是leandrojmp对elasticsearch性能的评论是个好主意。elastic的Heap是12GB,on LogStash是默认值,我现在记不起来了,是的,它们在同一台机器上,但在不同的SSD磁盘上。磁盘的利用率似乎不是100%,而是40%,当在文件上使用grep时,我得到了512MB/s。日志存储默认堆大小是1GB,因为您将批大小从默认的125增加到了1000,也许您可以尝试增加日志存储堆大小,用2GB或4GB测试它,这样您仍然有50%的内存用于其他进程。在使用
iostat
编制索引时,您是否检查了elasticsearch磁盘的IO性能?