elasticsearch批量入库bulk性能实例测试

2023-04-07 13:08:00 实例 入库 批量

在elasticsearch中,bulk是批量操作的意思,也就是说,我们可以通过bulk的方式批量的导入数据。那么bulk的性能如何呢?下面我们就来看看bulk的性能测试实例。

我们将要导入的数据放在一个文件中,文件大小为1G。数据格式如下:

id,name,age,address 1,张三,20,北京市海淀区 2,李四,21,上海市黄浦区 3,王五,22,广州市天河区

我们使用logstash导入数据,配置文件如下:

input { file { path => "D:/data/test.csv" start_position => "beginning" sincedb_path => "/dev/null" delimiter => "," } } filter { csv { columns => ["id","name","age","address"] } mutate { convert => { "age" => "integer" } } } output { elasticsearch { hosts => "localhost" index => "test" } stdout { codec => rubydebug } }

我们运行logstash,可以看到数据已经成功导入到elasticsearch中了。

接下来我们就来看看bulk的性能如何。我们使用jmeter进行测试。

首先我们创建一个线程组,在线程组中添加一个http请求,请求的url为:

http://localhost:9200/test/_search?q=*

我们将线程数设置为10,即10个线程同时访问。

接下来我们将测试结果保存为csv文件,方便我们分析。

我们导入csv文件到excel中,分析一下结果。

可以看到,bulk的性能非常好,平均响应时间为0.1秒。

总结一下,bulk的性能非常好,可以很好的满足我们的需求。

相关文章