进阶-第49__深入聚合数据分析_percentiles百分比算法以及网站访问时延统计

 

需求:比如有一个网站,记录下了每次请求的访问的耗时,需要统计tp50,tp90,tp99

 

tp50:50%的请求的耗时最长在多长时间

tp90:90%的请求的耗时最长在多长时间

tp99:99%的请求的耗时最长在多长时间

建立mappings

PUT /website

{

    "mappings": {

        "logs": {

            "properties": {

                "latency": {//响应时间

                    "type": "long"

                },

                "province": {

                    "type": "keyword"//不分词

                },

                "timestamp": {

                    "type": "date"

                }

            }

        }

    }

}

添加测试数据

POST /website/logs/_bulk

{ "index": {}}

{ "latency" : 105, "province" : "江苏", "timestamp" : "2016-10-28" }

{ "index": {}}

{ "latency" : 83, "province" : "江苏", "timestamp" : "2016-10-29" }

{ "index": {}}

{ "latency" : 92, "province" : "江苏", "timestamp" : "2016-10-29" }

{ "index": {}}

{ "latency" : 112, "province" : "江苏", "timestamp" : "2016-10-28" }

{ "index": {}}

{ "latency" : 68, "province" : "江苏", "timestamp" : "2016-10-28" }

{ "index": {}}

{ "latency" : 76, "province" : "江苏", "timestamp" : "2016-10-29" }

{ "index": {}}

{ "latency" : 101, "province" : "新疆", "timestamp" : "2016-10-28" }

{ "index": {}}

{ "latency" : 275, "province" : "新疆", "timestamp" : "2016-10-29" }

{ "index": {}}

{ "latency" : 166, "province" : "新疆", "timestamp" : "2016-10-29" }

{ "index": {}}

{ "latency" : 654, "province" : "新疆", "timestamp" : "2016-10-28" }

{ "index": {}}

{ "latency" : 389, "province" : "新疆", "timestamp" : "2016-10-28" }

{ "index": {}}

{ "latency" : 302, "province" : "新疆", "timestamp" : "2016-10-29" }

 

测试----网站50%,90%,99%的访问耗时最大值

pencentiles

GET /website/logs/_search

{

  "size": 0,

  "aggs": {

    "latency_percentiles": {

      "percentiles": {

        "field": "latency",

        "percents": [

          50,

          75,

          95,

          99

        ]

      }

    },

    "latency_avg":{

      "avg": {

        "field": "latency"

      }

    }

  }

}

结果:

{

  "took": 1,

  "timed_out": false,

  "_shards": {

    "total": 5,

    "successful": 5,

    "failed": 0

  },

  "hits": {

    "total": 12,

    "max_score": 0,

    "hits": []

  },

  "aggregations": {

    "latency_avg": {

      "value": 201.91666666666666

    },

    "latency_percentiles": {

      "values": {

        "50.0": 108.5,

        "75.0": 281.75,

        "95.0": 508.24999999999983,

        "99.0": 624.8500000000001

      }

    }

  }

}

 

50%的请求的耗时最长在多长时间:50%的请求,数值的最大的值是多少,但是这不是完全准确的

测试----哪个省份访问的时长比较长

GET /website/logs/_search

{

  "size": 0,

  "aggs": {

    "group_by_province":{

      "terms": {

        "field": "province"

      },

      "aggs": {

        "latency_percentiles": {

          "percentiles": {

            "field": "latency",

            "percents": [

              50,

              75,

              95,

              99

            ]

          }

        },

        "latency_avg":{

          "avg": {

            "field": "latency"

          }

        }

      }

    }

  }

}

结果:

{

  "took": 1,

  "timed_out": false,

  "_shards": {

    "total": 5,

    "successful": 5,

    "failed": 0

  },

  "hits": {

    "total": 12,

    "max_score": 0,

    "hits": []

  },

  "aggregations": {

    "group_by_province": {

      "doc_count_error_upper_bound": 0,

      "sum_other_doc_count": 0,

      "buckets": [

        {

          "key": "新疆",

          "doc_count": 6,

          "latency_avg": {

            "value": 314.5

          },

          "latency_percentiles": {

            "values": {

              "50.0": 288.5,

              "75.0": 367.25,

              "95.0": 587.75,

              "99.0": 640.75

            }

          }

        },

        {

          "key": "江苏",

          "doc_count": 6,

          "latency_avg": {

            "value": 89.33333333333333

          },

          "latency_percentiles": {

            "values": {

              "50.0": 87.5,

              "75.0": 101.75,

              "95.0": 110.25,

              "99.0": 111.65

            }

          }

        }

      ]

    }

  }

}

 

猜你喜欢

转载自blog.csdn.net/qq_35524586/article/details/88596668
今日推荐