Elasticsearch和#34之间的时差为#34;并手动计算

时间:2015-02-12 11:03:04

标签: elasticsearch

我无法弄清楚为什么ES时间和查询时间之间存在这样的差异。

var url = "192.168.100.11:9200";
var elasticsearch = require('elasticsearch');

var client = new elasticsearch.Client({
    host: url
});
var accounts = [];   
var startTime = new Date();
client.search({"index":"test", "type":"testdata1", searchType:"count"}).then(
    function (searchData) {
        var endDate = new Date();
        console.log(" total time : [" + (endDate - startTime) + "]")
        console.log(" ES   >>>>> :" + JSON.stringify(searchData.took));
    }).catch(function (err) {
        console.log(" errr  >>>> :" + err);
    });

输出:

  

总时间:[37]

     

ES>>>>> :2

正如您所看到的,结果显示查询在2毫秒内执行,但如果我计算在代码中运行的总时间,则需要37毫秒。花了35毫秒?

1 个答案:

答案 0 :(得分:8)

根据this thread,'''值测量Elasticsearch中查询执行的挂起时间,包括队列等待时间但不包括

  • 将请求序列化为客户端上的JSON
  • 通过网络发送请求
  • 在服务器上反序列化来自JSON的请求
  • 将响应序列化为服务器上的JSON
  • 通过网络发送回复
  • 在客户端上反序列化来自JSON的响应