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

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

作者: 程序员馨馨紫 | 来源:发表于2021-05-08 15:37 被阅读0次

    一、项目背景

    需要实时监控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

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/ycyddltx.html