Kuaishou-Kcode
K-Code快手程序设计大赛,对服务调用日志数据进行统计分析,衡量系统QPS,p99,调用成功率等指标
热身赛warm-up
赛题背景
在工程实习过程中开发同学经常需要关注一个方法或接口的调用次数和处理时间,通常请求量衡量标准有QPS, 响应时间的衡量标准有P99, P50, AVG, MAX等,分别对应99分位响应时间,中位数时间,平均响应时间和最长耗时。 题目内容
实现一个计算QPS,P99, P50, AVG, MAX的程序,要求包含的功能如下:
实现一个接收打点数据的接口,输入数据格式下面会给出
实现一个查询一个方法在特定秒的QPS,P99,P50,AVG,MAX 输入数据集格式说明(单行):
调用方法时间(ms),方法名称,方法耗时(ms) 逗号分隔,每部分无空格 示例
1589761895123,getUserName,103
1589761895122,getUserName,1034
1589761895124,getUserName,203
1589761895233,getUserName,132
1589761895376,getUserName,151
查询方式
输入:调用方法时间(s),方法名称
注意时间单位秒,逗号分隔,每部分无空格
结果:QPS,P99,P50,AVG,MAX
结果中的5个值都是以毫秒为单位,如遇小数,向上取整
示例
输入:
1589761895,getUserName
结果:
5,1034,151,325,1034
初赛first-round
赛题背景
在做系统设计的时候往往将一个复杂系统切分为几个至几十个微服务,随着服务粒度的细化,微服务数量极速上涨。在快手,服务间调用量最高峰可以达到每秒数千万次,每天高达数百亿次。为了对各个服务的监控状况进行监控和分析,需要收集服务间调用信息,这些调用信息包括:主调服务名、主调方IP、被调服务名、被调方IP、耗时、结果,调用发生时间等等。根据这些调用信息我们可以分析出服务的健康状况,例如:成功率、延迟情况、QPS等等。 题目内容
实现进程内对微服务调用信息的分析和查询系统,要求包含的功能如下:
接收和分析调用信息的接口
根据给定的条件进行查询和分析,描述如下: 输入主调服务名、被调服务名和时间(分钟粒度),返回在这一分钟内主被调按ip聚合的成功率和P99(按成功率倒排); 输入被调服务名和一个时间范围(分钟粒度, ==闭区间==),返回在区间内被调的平均成功率。
今天的文章java统计日志qps_K-Code快手程序设计大赛,对服务调用日志数据进行统计分析,衡量系统QPS,p99,调用成功率等指标…分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/25000.html