监控CDN服务器的带宽/流量/QPS/状态码等数据的测试方法

一、项目背景

需要实时监控CDN服务器的基础数据(包括带宽,流量,QPS,状态码,可以理解为从CDN服务器到本地的数据)和回源流量(带宽和流量,可以理解为从源站到CDN服务器的数据),类似于腾讯云和阿里云的CDN监控数据

二、开发实现思路

通过Prometheus监控系统,按一定的规则采集OpenStack宿主机上各虚拟机的数据,保存在时序库中,再按照产品需求,按照一定的算法,将数据展示在对应页面上

三、测试环境准备

1、一台源站服务器,且搭建好一个有上传和下载功能的环境,例如:10.0.4.100
2、一台CDN服务器,例如:10.0.6.11
3、将域名666.abc.com与源站绑定,系统会自动分配一个cname


1.png

4、如果是正式环境,需要在域名服务提供商处完成 CNAME 配置,配置生效后,即可享受 CDN 加速服务
5、由于是测试环境,所以就在本地绑定host,将域名与CDN服务器地址绑定


2.png

四、测试方法

1、CDN基础数据的带宽
利用Jmeter的定时器Constant Throughput Timer(不用定时器的话数据不稳定,由于测试环境数据有时延,会导致不好核对测试结果),发送一个下载请求,聚合报告中的Recieved指标对应带宽(注意转换单位),测试环境的带宽数据稳定在0.004Mbps左右,例子如下:


3.png

4.png

5.png

5.1.png

6.png

2、CDN基础数据的流量
即带宽的数据/8*1024,换算下单位即可,测试环境数据大概稳定在5B左右


7.png

3、CDN基础数据的QPS
即请求数,对应聚合报告中的Throughput指标,测试环境数据稳定在1左右


8.png

9.png

4、CDN基础数据的状态码
需要借助Django框架搭建环境(学习中,后续分享)
利用Jmeter的定时器Constant Throughput Timer(不用定时器的话数据不稳定,由于测试环境数据有时延,会导致不好核对测试结果),发送一个下载请求,聚合报告中的Throughput指标即为状态码的请求数,测试环境的状态码请求数稳定在1次/s左右,例子如下:


10.png

11.png

12.png

13.png

5、回源流量下的回源带宽
测试回源带宽,需要先清除CDN服务器上的缓存,例如:http://666.abc.com/code/101
利用Jmeter的定时器Constant Throughput Timer(不用定时器的话数据不稳定,由于测试环境数据有时延,会导致不好核对测试结果),发送一个下载请求,此时CDN服务器会向源站请求数据,从而产生回源流量,测试环境的带宽数据稳定在70Mbps左右,例子同CDN基础数据的带宽

14.png

6、回源流量下的回源流量
回源流量下的回源带宽/8,即为回源流量
15.png

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,635评论 28 53
  • 信任包括信任自己和信任他人 很多时候,很多事情,失败、遗憾、错过,源于不自信,不信任他人 觉得自己做不成,别人做不...
    吴氵晃阅读 6,244评论 4 8
  • 怎么对待生活,它也会怎么对你 人都是哭着来到这个美丽的人间。每个人从来到尘寰到升入天堂,整个生命的历程都是一本书,...
    静静在等你阅读 5,042评论 1 6