新闻资讯

新闻资讯 行业动态

直播服务器的测试

编辑:008     时间:2020-02-14

测试需求的产生

腾讯NOW直播是腾讯目前发展非常迅速的直播应用,获得了通过QQ直接登录直播界面的入口,可见其受重视程度,而NOW直播在一场线上活动中,需要对活动的所有接口进行压力测试,提前暴露问题并解决,确保活动的顺利实施。为此,NOW直播与腾讯WeTest服务器性能测试进行了合作,对应用的业务后台进行了系统性的测试,对活动进行了一整套场景测试。(对于视频流量、用户交互等高频率高带宽的场景,也同样可以使用WeTest服务器性能测试的的高级模式进行,本文不做展开,尽请期待后续干货。)

测试前的思路梳理

一般来说,对于活动中的功能节点,测试过程中通常关注两点:

  1. 单接口压测,提前暴露核心模块的问题
  2. 多接口架构问题,场景压测尽量模拟真实用户行为,使得压测结果更有说服力
    对于这次活动,NOW直播的思路也同样是通过简单的HTTP单接口和复杂的多接口场景压测,通过压测工具给后台和客户端APP增加压力源,帮助发现问题。

测试的执行

  1. 单接口压测——步步为营,逐渐迭代

    单接口压测的原理很简单,就是不断的对某个功能接口不断加压,直到发现出现问题的那个极限就可以,在腾讯WeTest服务器性能测试上,操作如下:

    1)点击压测产品首页中的快捷入口:HTTP直压。模式选择简单模式,名称和描述可以自己填写。(图中示例起始人数50人,每隔60秒增加50人,加到200人为上限)

    2)新建一个客户端请求,接口压测包括读写接口,读接口基本是GET请求,写接口基本是POST请求。GET请求使用url请求参数,POST请求使用x-www-form-urlencoded方式传递参数,在这里NOW直播方法选择GET,填写想要测试的URL。

    3)编辑一下测试模型,增加一个场景名,单接口测试只测试一个功能接口,因此模式选择“单场景”,压力百分比设置为100%。

    通过这样的压测方式,不断增加服务器压力,直到找到瓶颈位置,腾讯WeTest为NOW直播实现了2W/s的并发量,满足了NOW直播的并发需求。

  2. 多接口压测——真实模拟,定位问题

    多接口压测的主要逻辑,就是通过构建不同的功能接口,模拟用户的真实行为,从而帮助开发者定位接口问题。

    NOW直播的测试方式是通过GET请求调用一个功能接口,通过这个功能接口随机产生不同行为逻辑的机器人,模拟真实的QQ用户,然后通过POST请求执行具体的业务行为,从而发现功能之间会产生的逻辑问题。

    NOW直播测试团队读接口基本是GET请求,写接口基本是POST请求。GET请求使用url请求参数,POST请求使用x-www-form-urlencoded方式传递参数。

    在腾讯WeTest 服务器性能测试上,我们可以进行如下操作:

    1)首先,通过GET请求,读取一个用户的“登陆态”,通过这个功能接口随机产生不同行为逻辑的机器人,模拟真实的QQ用户;然后通过POST请求依次执行具体的业务行为,从而发现功能之间产生的逻辑问题。

    2)在测试场景中输入场景名,NOW直播测试的是“登录-进入房间-点赞”这样三个操作,然后“模式”选择“上下文”,点击“压测场景”,选择调用不同的功能接口。

    目前腾讯WeTest服务器性能测试支持同时接入8个场景,更多的场景可以更真实的模拟用户的行为。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

回复列表