如何在Elasticsearch中执行基准测试?

时间:2014-12-11 21:17:15

标签: elasticsearch benchmarking

我想执行基准测试,然后按照Elasticsearch documentation

/bin/elasticsearch --node.bench true

curl -XPUT 'localhost:9200/_bench/?pretty=true' -d '{
   "name": "my_benchmark",
   "competitors": [ {
       "name": "my_competitor",
       "requests": [ {
        "query": {
            "match": { "_all": "a*" }
                     }
              } ] 
         } ]
}'

但我得到了例外。

{   "error" : "InvalidIndexNameException[[_bench] Invalid index name
[_bench], must not start with '_']",   "status" : 400 }

我做错了什么。

1 个答案:

答案 0 :(得分:0)

我在版本1.4.2中检查了新下载的elasticsearch,我得到的结果和你一样。

然后我从github获取的master分支编译了弹性搜索,并且它有效。为了你的卷曲,我收到了以下回复:

{
  "status" : "COMPLETE",
  "errors" : [ ],
  "competitors" : {
    "my_competitor" : {
      "summary" : {
        "nodes" : [
        "Cable" ],
        "total_iterations" : 5,
        "completed_iterations" : 5,
        "total_queries" : 5000,
        "concurrency" : 5,
        "multiplier" : 1000,
        "avg_warmup_time" : 0.0,
        "statistics" : {
          "min" : 1,
          "max" : 1,
          "mean" : 1.0,
          "qps" : 1000.0,
          "std_dev" : 0.0,
          "millis_per_hit" : 0.0,
          "percentile_10" : 1.0,
          "percentile_25" : 1.0,
          "percentile_50" : 1.0,
          "percentile_75" : 1.0,
          "percentile_90" : 1.0,
          "percentile_99" : 1.0
        }
      }
    }
  }
}

为了更简单的卷曲,我得到了:

curl -XGET 'localhost:9200/_bench?pretty'

{ }

所以看起来这个功能是如此具有实验性,以至于它还没有包含在任何稳定版本中。

我猜文档标题中的引用[master]并不是巧合;)