您可通过PTS控制台快速实现流媒体HLS协议压测。本文介绍如何对流媒体HLS协议进行压测。

背景信息

流媒体是一种新型的媒体传输技术,是指将一连串的视频、声音、文本、图像等流数据压缩后,经过网上分段发送数据的方式即时传输影音的过程;如果不使用此技术,就必须在使用前下载整个媒体文件。目前随着4G、5G网络的快速发展,流媒体技术在多个领域内得到大量应用,如视频直播、视频点播等。HLS(HTTP Live Streaming)是常见的流媒体协议类型之一,是基于HTTP协议的应用层协议。

操作步骤

  1. 登录PTS控制台,在左侧导航栏中选择压测中心 > 创建场景
  2. 创建场景页面,单击流媒体压测
  3. 创建流媒体场景页面,填写场景名
  4. 选择流媒体类型HLS
  5. 场景配置页签下,单击+添加流媒体节点,输入测试节点名称。
    添加流媒体节点相关配置说明如下。每个测试节点除基本配置外,还可设置出参与检查点。具体操作,请参见出参与检查点
    相关基本配置 说明
    流媒体地址 输入流媒体地址。
    协议 可选择HLS类型MPEG-DASH类型
    说明 MPEG-DASH(Moving Picture Experts Group - Dynamic Adaptive Streaming over HTTP)是按需播放的流媒体协议,能够在播放时基于网络带宽情况动态调整拉流的源,从而调整流的分辨率。
    不同迭代时间持续播放 压测时本次迭代从上次断开的地方续播。
    播放时长 每次迭代的播放时长,0表示播放整个视频。
    说明
    • 如果针对一个直播场景,设置播放时长为0,那么压测过程中每个并发会阻塞在这里持续播放视频,直到停止压测或直播结束。
    • 如果您设置了播放时长为5秒,并勾选了不同迭代时间持续播放,第一次迭代会播放前5秒的流,第二次迭代会从第6秒开始,播放到第10秒,后续迭代类似,直至流媒体结束或所有迭代结束。如果不勾选不同迭代时间持续播放,每次迭代都会播放前5秒流。
  6. 根据不同压测场景的需求,添加控制器和定时器。
    • 场景配置页签下,单击+添加控制器选择所需的控制器。
      • 循环控制器:控制所含测试节点应循环执行的次数。

        选择循环控制器后,单击其右侧的循环控制器的更多图标图标,选择添加需循环执行的测试节点,并设置循环次数。压测时,会将此循环控制器下的测试节点按序执行设置的次数。

      • 事务控制器:事务控制器下所包含的所有测试节点将会被算作为一个事务。其包含生成父样本是否包含样品中定时器和前后程序的持续时间两个设置项。
        • 生成父样本
          • 开启开关:该事务控制器下各测试节点自身的压测结果不会在压测报告中独立输出,而会被聚合作为事务控制器的结果呈现在报告中。
          • 关闭开关:该事务控制器以及其包含的测试节点的压测结果均会显示在报告中。
        • 是否包含样品中定时器和前后程序的持续时间:若选择开启此开关,则压测报告中事务控制器的平均响应时间为所有测试节点、定时器以及前后置处理器的平均响应时间之和。若不开启此开关,则事务控制器的平均响应时间仅为所有测试节点平均响应时间之和。
      • 仅一次控制器:仅一次控制器下添加的节点仅会被执行一次。
    • 场景配置页签下,单击+添加定时器选择所需的定时器。
      • 常量定时器:可设置停顿时长,表示压测过程中,在此处停顿的时长,单位为毫秒。
      • 同步定时器:可设置停顿时长模拟用户数,表示在一定时间内先等待达到一定用户数然后触发测试,但若在设定时间内未达到指定用户数,则不会继续等待,直接触发测试。
      • 统一随机定时器:统一随机定时器用于控制停顿时长,可设置延迟基准可变跨度。延迟基准为固定停顿时间,可变跨度为随机停顿时间的最大值。统一随机定时器的停顿时长为延迟基准所设的固定停顿时间加上可变跨度所设时间范围内的随机值。各随机值出现的概率相等。
      • 高斯定时器:高斯定时器与统一随机定时器类似,同样用于设置停顿时长,可设置延迟基准可变跨度。若要求随机停顿时间符合正态分布,可使用高斯定时器。
      • 固定吞吐量定时器:固定吞吐量定时器用于控制吞吐量,使测试节点按吞吐量执行。可设置条件和对应的吞吐量。条件包含仅当前线程所有活跃线程当前链路下活跃线程全局活跃线程当前链路下全局活跃线程
  7. 单击施压配置页签,设置流媒体所在的网络配置,例如区域、VPC、安全组和交换机。
    参数 描述
    压力来源 本次压测使用的网络类型,包括国内公网阿里云VPC内网两种类型。
    说明 若选择使用阿里云VPC内网进行压测,则还需选择地域。
    并发数 指同时发送压测请求的用户数量。
    指定IP数 指定施压引擎的数量。引擎数增加会带来计费的增加,计费并发=引擎数×500。
    说明
    • 增加引擎数会带来计费的增加,请关注施压配置页签右侧压力预估图的预估消耗VUM数。
    • 可设置的最大引擎数受资源包限制,具体信息,以控制台的指定IP数为准。
    • 为合理利用资源,增加后的引擎数不超过100且不超过配置的并发数。
    • 如当前无法满足,请提交工单申请扩容。
    压测时长 建议压测时长不低于2分钟,总时长默认不可超过24小时,如有特殊需求,请提交工单
    流量模型 压测的流量模型包含以下三种:
    • 均匀递增:从0开始均匀递增,达到最大并发后按照最大并发持续施压,不可指定循环次数。
    • 阶梯压力:从0开始按照递增阶梯逐步递增,达到最大并发后按照最大并发并持续施压。不可指定循环次数。
    • 固定压力:以配置的固定并发值进行施压。
    递增时长 即预热时间,单位分钟,指压测流量未到达已配置的并发数的时间。在这个时间内,并发数递增,直到最大并发数。只有在均匀递增阶梯递增的流量模型下需要设置递增时长。
  8. 可选:创建场景页面下方,单击调试场景
    可对配置的场景进行调试,验证配置是否正确。更多信息,请参见调试场景
  9. 单击保存去压测,在对话框中单击确定

后续步骤

查看压测报告,具体操作,请参见查看流媒体压测报告