在实际业务中,可能会遇到这样的需求,基于IP或者区域统计不同地区的网站网站访问量,根据访问量的不同指标,指导线上服务部署的优化等,
需求:比如有一个网站,记录下了每次请求的访问的耗时,需要统计tp50,tp90,tp99
tp50:50%的请求的耗时最长在多长时间
tp90:90%的请求的耗时最长在多长时间
tp99:99%的请求的耗时最长在多长时间
在es中,有一个叫pencentiles 的可以对此进行统计,下面我们来用实验数据模拟一下这个过程,
1、创建一个索引,并为索引的字段分词属性进行指定,
PUT /website
{
"mappings": {
"logs": {
"properties": {
"latency": {
"type": "long"
},
"province": {
"type": "keyword"
},
"timestamp": {
"type": "date"
}
}
}
}
}
2、插入一批实验数据,
POST /website/logs/_bulk
{ "i