主要知识点:

  • percentile_ranks的用法
  • percentile的优化

 
 

一、percentile_ranks的用法

SLA:就是所提供的服务的标准。
比如一个网站的提供的访问延时的SLA,确保所有的请求100%都必须在200ms以内,在大公司内一般都是要求100%在200ms以内,如果超过1s,则需要升级到A级故障,代表网站的访问性能和用户体验急剧下降。

现有一个需求:在200ms以内的有百分之多少,在1000毫秒以内的有百分之多少,对于这个需求就要用到percentile ranks metric这个方法,这个percentile ranks,在实际工作中比pencentile还要常用。他可以统计电商系统中按照品牌分组,计算,电视机,售价在1000元的占比,在2000以内的占比,3000占元以内的占比等等。

 
 

语法如下:

 
 

GET /website/logs/_search

{

"size": 0,

"aggs": {

"group_by_province": {

"terms": {"field": "province"},

"aggs": {

"latency_percentile_ranks": {

"percentile_ranks": {"field": "latency","values": [200,1000]}

}

}

}

}

}

 
 

执行结果如下:

"aggregations": {

"group_by_province": {

"doc_count_error_upper_bound": 0,

"sum_other_doc_count": 0,

"buckets": [

{

"key": "新疆",

"doc_count": 6,

"latency_percentile_ranks": {

"values": {

"200.0": 29.40613026819923,

"1000.0": 100

}

}

},

{

"key": "江苏",

"doc_count": 6,

"latency_percentile_ranks": {

"values": {

"200.0": 100,

"1000.0": 100

}

}

}

]

}

}

}

 
 

二、percentile的优化

 
 

percentile_ranks在es底层用的是TDigest算法,他会用很多节点来执行百分比的近似估计计算,当然也会有误差,但是所用到的节点越多越精准。

compression参数就是用来限制节点数量,默认compression的值是100,也就是compression * 20 = 2000个node去参与计算,compression越大,占用内存越多,越精准,性能越差

一个节点占大约占用32字节,100 * 20 * 32 = 64KB。如果你想要percentile算法越精准,compression可以设置的越大

51.percentiles rank以及网站访问时延SLA统计的更多相关文章

  1. Servlet学习的两个案例之网站访问次数的统计

    一.统计次数的Servlet源码 package com.shanrengo; import java.io.IOException; import javax.servlet.ServletCont ...

  2. 网站每日PV/IP统计/总带宽/URL统计脚本分享(依据网站访问日志)

    在平时的运维工作中,我们运维人员需要清楚自己网站每天的总访问量.总带宽.ip统计和url统计等.虽然网站已经在服务商那里做了CDN加速,所以网站流量压力都在前方CDN层了像每日PV,带宽,ip统计等数 ...

  3. Apache服务器网站访问伪静态内页出现No input file specified.的完美解决方案

    原文地址:Apache服务器网站访问伪静态内页出现No input file specified.的完美解决方案 启用REWRITE的伪静态功能的时候,首页可以访问,而访问内页的时候,就提示:&quo ...

  4. 巧用linux服务器的/dev/shm/,如果合理使用,可以避开磁盘IO不给力,提高网站访问速度。

    巧用linux服务器的/dev/shm/ 巧用linux服务器的/dev/shm/,如果合理使用,可以避开磁盘IO不给力,提高网站访问速度. 首先让我们认识一下,什么是tmpfs和/dev/shm/? ...

  5. 如何使用ping和tracert命令测试网站访问速度

    在我们平时访问的网站中,有一些网站访问速度非常快,比如百度搜索网站和一些门户网站,有些网站访问很慢,有些网站甚至无法访问.那么我们该如何判断这些网站的访问速度呢?下面我们就使用Windows的ping ...

  6. Windows Server 2008 网站访问PHP响应慢的解决方法

    公司新上了一个网站,但是在配置完PHP环境之后却发现了问题,访问HTML速度飞快,而访问PHP网页时就要卡顿1秒,响应很慢的样子,排除了带宽的因素之后,在百度上搜了一圈竟然解决了,现在将方法转载给大家 ...

  7. 10倍速!一招儿解决因googleapis被墙导致的许多国外网站访问速度慢的问题

    1x.com 是我非常喜欢的一家国外的摄影网站.但,打开它的首页要1分多钟!点击小图看大图的二级页面根本打不开.看着写着“Nude content”的小图却点不开大图的心情你们造吗?!很多国外网站访问 ...

  8. 开源网站访问统计系统Piwik

    http://www.piwik.cn/ http://www.piwik.org/ Piwik 是一套基于 Php+MySQL 技术构建,能够与 Google Analytics 相媲美的开源网站访 ...

  9. 使用 Nginx 提升网站访问速度

    使用 Nginx 提升网站访问速度 http://www.ibm.com/developerworks/cn/web/wa-lo-nginx/ Nginx 简介 Nginx ("engine ...

随机推荐

  1. hdu 1248 寒冰王座(暴力)

    寒冰王座 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  2. ECMAScript 对象类型

    ECMAScript:本地对象.内置对象.宿主对象 一.本地对象: 定义:ECMA-262(ECMAScript语言规范) 定义其为“独立于宿主环境的 ECMAScript 实现提供的对象”.它是由 ...

  3. linux文档权限

    1.登录 root 用户:su - mac一开始进入创建的用户是具有管理员权限的用户,但是密码却不是进入 root 用户的密码,可以使用 sudo su - 免密进入 root 用户. 2.退出 ro ...

  4. 一分钟让你了解Microsoft Edge

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/ ...

  5. Spark SQL 操作Hive 数据

    Spark 2.0以前版本:val sparkConf = new SparkConf().setAppName("soyo")    val spark = new SparkC ...

  6. windows下写的脚本,在linux下执行失败

    Windows中的换行符为CRLF, 即正则表达式的rn(ASCII码为13和10), 而Unix(或Linux)换行符为LF, 即正则表达式的n. 在Windows和Linux下协同工作的时候, 往 ...

  7. 详细解析Linux scp命令的应用(转载)

    转自:http://os.51cto.com/art/201003/187301.htm Linux scp命令用于Linux之间复制文件和目录,具体如何使用这里好好介绍一下,从本地复制到远程.从远程 ...

  8. sql 查询出当天记录数据

    select updatetime,NewComment,HistoryID,sum(1) over(partition by UpdateTime) from LPProjectHistoryord ...

  9. 【Codeforces866E_CF866E】Hex Dyslexia(Structure & DP)

    It's my first time to write a blog in EnglishChinglish, so it may be full of mistakes in grammar. Pr ...

  10. URI、URL、请求、响应、常见状态代码

    URI:路径(统一资源标识符,包括本地地址和网络地址) URL是URI的一种子路径, URI范围比URL范围广. URL (Uniform Resource Locator,统一全球资源定位符): 通 ...