7

关于绘制统计曲线算法的一些思考

 2 years ago
source link: https://blogread.cn/it/article/2782?f=hot1
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

关于绘制统计曲线算法的一些思考

浏览:1436次  出处信息

这篇文章还是关于fuload项目的问题,由于压力测试的结果最后是要给出可视化统计曲线及饼图的,所以这里就涉及到数据上报时间,格式,以及绘制算法的问题。
饼图比较简单,我们这里主要看调用时间的曲线图。
我们采用自顶向下的方法来分析,先分别来看输入和输出。
前提

  • 有多台机器(称为从机),同时想远程机器上报,由远程机器(称为主机)统一绘制。

输入

  • 一段时间内(如5分钟):起始时间,结束时间,总的调用时间,调用次数,平均调用时间。

输出

  • 根据平均响应时间,绘制时间为横轴,调用时间为纵轴的走势曲线图。

这里主要有几个难点

  • 1.对于这“一段时间”来说,每台从机是不一样的,即可能A机器报了7点5分~7点10分的数据,而B机器报了7点7分到7点12分的数据,也可以理解为主机端接收到每台从机上报数据时间点是不统一的。要解决这个问题,我们可以通过对上报数据做分片的处理,简单来说,既然我们选择了5分钟上报一次,那么统计图的X轴一定是5分钟一个统计点,比如拿7点5分~7点10分这段时间来说,7点7分~7点12分的数据有3/5落在了这个时间段(具体计算可以更精确),另外有2/5落在了7点10分~7点15分,这样统计曲线就可以绘制出来了。
  • 2.相信从机时间还是主机时间。虽然每台从机都将自己的时间起始终止点报上来了,但是我们是否应该相信呢。如果我们选择相信,这里有一个风险就是每台从机之间及和主机之间可能时间不一致。但如果统一按照主机时间,则必须保证从机在收集完数据之后立即上传到主机,防止滞后。

这样解决方案就比较清楚了,我们来复述一下:

  • a)从机上报格式为:
    • 起始时间(暂时无用)
    • 结束时间(暂时无用)
    • 总调用时间
  • b)主机接收到数据之后,将数据按时间段分片。见上面的难点的第1条。

这只是今晚总结的一个思路,等代码开始写之后,再将绘制的图表发上来。

建议继续学习:

QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK