对于logstash解析大批量数据并传输到elasticsearch中的过程简单进行一些数据的测试,条件4G内存,logstash中配置index.refresh_interval=5s,(这个数据是es索引刷新速率,就是数据传输到es中,es不会实时展示,延迟五秒,一般来说es配置1s),index.refresh_interval的增加可以较大提高插入数据的效率,特别的,可以将其改为-1,等到大批量数据导入完成后,再改回去
这里有几个优化logstash、elasticsearch的博客,连接挂在最后啦。
标准方法:
input {
generator {
count => 10000000
message => '{"key1":"value1","key2":[1,2],"key3":{"subkey1":"subvalue1"}}'
codec => json
}
}
inputs/generator 是无中生有,output/null 则是锯嘴葫芦。事件流转到这里直接就略过,什么操作都不做。相当于只测试 Logstash 的 pipe 和 filter 效率。
$ time ./bin/logstash -f generator_null.conf
output {
stdout {
codec => dots
}
}