V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Visitor233
V2EX  ›  程序员

技术贴:如何进行直播压测

  •  
  •   Visitor233 · 2020-12-17 20:59:32 +08:00 · 5165 次点击
    这是一个创建于 1430 天前的主题,其中的信息可能已经有所发展或是发生改变。

    RT,我们用的是阿里云的直播,在阿里生成直播地址,然后在公司网络下,用日常工作的电脑使用 OBS 进行 RTMP 推流(公司网络上行下行速度都能快( 5M/15M ),拉流录制的视频都很顺畅( 1080P60FPS ))。同事使用 JMeter 开 100 个线程压测,他观看直播的页面会出现卡顿。这着实有点难受,应为项目目标是 10 万人。也提单询问过阿里云的技术人员,回答是没有这方面的相关服务。

    41 条回复    2020-12-22 10:21:28 +08:00
    bootvue
        1
    bootvue  
       2020-12-17 21:10:49 +08:00
    上线测
    renmu123
        2
    renmu123  
       2020-12-17 21:15:53 +08:00
    是不是你同事电脑的性能不够或者也用了公司的网络导致卡顿?
    v2hh
        3
    v2hh  
       2020-12-17 23:05:49 +08:00
    这个不好测吧,不同区域节点加载速度也不一样,最好的办法就是上线测
    YouLMAO
        4
    YouLMAO  
       2020-12-18 00:15:59 +08:00 via Android   ❤️ 3
    我提供 DDoS 服务
    laminux29
        5
    laminux29  
       2020-12-18 01:31:03 +08:00   ❤️ 3
    有些人会觉得,压测不就是一两台渣渣服务器,甚至渣渣 PC,跑几分钟的 LoadRunner 或 Webbench,成本 1 元电费,不就行了?

    但换个行业来说,比如火箭或飞机,只是测测发动机,一次几十万元起步。

    直播测试也是如此。它不同于普通的网站压力测试,直播测试,需要很多客户端,客户端的带宽与设备也不便宜。测试成本可不低。

    这种大型测试,对于开发公司,养这种团队与设备,性价比太低。建议去找专门的测试公司,去询价。

    另外,你们自己测试的直播页面卡顿,要分析一下,到底是:

    你们公司带宽问题?

    阿里云服务器的带宽问题?

    阿里云的直播组件性能问题?

    你们公司收看直播的电脑设备性能问题?

    等等..
    xcstream
        6
    xcstream  
       2020-12-18 02:40:25 +08:00
    10 万人 要大成本投入了
    black11black
        7
    black11black  
       2020-12-18 02:58:11 +08:00 via Android
    我一直以为直播是特别高级的服务一般人干不了,看楼主的意思是现在主体服务可以直接用阿里云外包?
    js8510
        8
    js8510  
       2020-12-18 04:29:35 +08:00   ❤️ 1
    一般可以先 ( 1 ) offline 做一个小规模的模拟,搭建一个单独的 tier 通过 https://github.com/facebook/treadmill 之类的东西跑一跑(如果 stateless service, 结构简单的小型服务,一般不复杂), 估计个数字(这个估计很关键,技术活,需要有经验有扎实统计学背景的人设计估算方法)。 ( 2 ) 拿这估算的数字,分配一点机器, 做 online loa/drain test. 这个就更加复杂了。简单说就是在保证不影响 SLA 的基础上找到系统的瓶颈->fix->再重复
    swulling
        9
    swulling  
       2020-12-18 07:10:18 +08:00 via iPhone   ❤️ 3
    你们公司下行才 15M,一百并发拉流,瓶颈难道不是你们公司自己的网络带宽么,关阿里啥事
    cxh116
        10
    cxh116  
       2020-12-18 08:01:45 +08:00 via Android
    100 个并发,总带宽 15mb,平均 150kb,150 估计只够流畅画质。
    lvzhiqiang
        11
    lvzhiqiang  
       2020-12-18 08:03:14 +08:00
    @black11black 流媒体服务。有能力自建,没能力用云产品。我们有一款产品,用的就是腾讯云的直播服务。
    opengps
        12
    opengps  
       2020-12-18 08:08:04 +08:00
    直播跟其他压测不大一样,毕竟最终压的不是单节点性能,而是看分布后的全节点总容量
    YouLMAO
        13
    YouLMAO  
       2020-12-18 08:09:21 +08:00 via Android
    12306 分布式拒绝服务用了 20000 台肉鸡
    Visitor233
        14
    Visitor233  
    OP
       2020-12-18 08:38:53 +08:00
    @renmu123
    @laminux29
    @swulling
    @cxh116
    是的,阿里售后给的回答也是公司网络下行带宽带不动。想想自己平时拿手机看直播就知道了,网速都是要 1M 左右,100 个请求又不调普通的 API,获得的网络视频流根本没那么多带宽去撑起来。
    Visitor233
        15
    Visitor233  
    OP
       2020-12-18 08:41:28 +08:00
    @laminux29
    感谢回复,这种测试确实只能找专门的测试公司了
    Visitor233
        16
    Visitor233  
    OP
       2020-12-18 08:42:53 +08:00
    @black11black 是的,阿里有专门的视频直播服务,你只需在自己电脑上的 OBS 软件里填好阿里云生成的 rtmp 推流地址就行(当然,得准备自己的域名)
    clxtmdb
        17
    clxtmdb  
       2020-12-18 09:24:12 +08:00
    这为什么要测?你们只负责推流,你用的是阿里云的直播,观众是从阿里云直播那里拉流的,观看人数取决于你购买的阿里云直播流量吧。。。(服务器角度);客户端角度,看一下不同设备在不同带宽下的流畅度、体验之类的。。。
    阿里云的直播没必要去怀疑的
    clxtmdb
        18
    clxtmdb  
       2020-12-18 09:26:16 +08:00   ❤️ 1
    上一份工作时也用过,不过只有一万人。。充钱就完事了
    52coder
        19
    52coder  
       2020-12-18 09:53:30 +08:00   ❤️ 1
    歪个楼,我理解你用的阿里云直播(没用过),是和用斗鱼 虎牙一样吗?为什么你要关心服务器压力?不是直播商(斗鱼 虎牙)他们负责吗?
    zhs227
        20
    zhs227  
       2020-12-18 09:59:57 +08:00
    有点晕。压测阿里云

    15MB 速度也太少了点,换成网络带宽估计就是 100M 线路带点余量。1 路 3Mbps 的流,至少要弄个 500Mbps 的宽带才能同时看 100 路。你这个项目的目标 10 万路,那算一下就是…… 500G 带宽,单台计算机网卡瓶颈 500M (不计算解码能力),需要准备 1000 台计算机做测试。另外可以先问一下 500G 带宽需要多少钱
    另外,其实还有解码能力是比较重要的,如果你在一台电脑上测 100 路,每一路都同时放的话,100 路就有 100 个 1080P 解码,你先看看电脑 CPU 还剩多少
    你就当阿里云不存在这个瓶颈问题。
    大到能把阿里视频云弄垮的时候,阿里云会主动优化并通知你们的甲方的
    zhuzhibin
        21
    zhuzhibin  
       2020-12-18 10:17:55 +08:00 via iPhone
    @52coder 他们肯定是自建的啦 只不过直播服务用的是阿里云的
    swulling
        22
    swulling  
       2020-12-18 10:45:33 +08:00 via iPhone
    需要你能控制 10000+的终端,有一种办法就是去除阿里云之外其他的云服务购买 10000+实例,然后压测,测完销毁
    sunziren
        23
    sunziren  
       2020-12-18 10:50:29 +08:00
    同问,为什么不用虎牙,斗鱼
    janus77
        24
    janus77  
       2020-12-18 10:54:47 +08:00
    找专门的公司 挂多个代理测。而且还不能用同一 IP 的 这样出来是优化后的效果不够真实
    LostPrayers
        25
    LostPrayers  
       2020-12-18 11:02:51 +08:00
    @sunziren 你是开发者吗? 为什么会问这种问题...
    就算是虎牙、斗鱼,它们背后的技术提供商是腾讯云,你也该去找腾讯云而不是虎牙...
    dynastysea
        26
    dynastysea  
       2020-12-18 11:12:03 +08:00   ❤️ 2
    说句实在话,你们的这个目标 10 万人恕我直言是扯淡的。
    真正有实力达到 10w 这个在线目标的公司不会来这问这个问题,你能达到这个实力,阿里云的专家技术团队早就过去了,阿里云没支持你们说明你们是极小的客户。
    很多领导都喜欢把数字定的虚无缥缈显得高大上,建议切实了解清楚,路要一步一步走~
    kennylam777
        27
    kennylam777  
       2020-12-18 11:19:11 +08:00
    @dynastysea 同感,不知道甚麼測的項目,一來就 10 萬人為目標,根本連如何找到 10 萬用家也不清楚。

    早期能彈性調整就好,反正能用雲的都不擔心分發的問題,有限的條件下能播放就好,取得營運經驗後再於每個關節點搞優化。

    真的,你有條件把服務商搞垮,他們自然會來找你
    sunziren
        28
    sunziren  
       2020-12-18 11:32:18 +08:00
    @LostPrayers 唔,原来如此
    qoo2019
        29
    qoo2019  
       2020-12-18 11:38:40 +08:00
    @dynastysea 小公司就是喜欢半个用户没有的时候,天天把压测挂嘴上
    dynastysea
        30
    dynastysea  
       2020-12-18 11:41:29 +08:00
    再教 lz 一招,你去算算阿里云支撑 10w 人目标的费用要多少?给你们老板看看,他绝对会重新评估你们的目标的。。。只有花钱才是实实在在不会让人瞎吹牛逼的
    dynastysea
        31
    dynastysea  
       2020-12-18 11:44:39 +08:00
    @qoo2019 其实大公司也是一样,只有瞎折腾才能体现领导的价值,毕竟在线多可以对外吹牛逼嘛。不过大公司的区别在于,领导吹牛逼是有实实在在的资源去支撑的。。说十万就会真的去准备相应的资源,小公司不一样,领导瞎 jb 定目标,真要叫掏对应这么多资源的钱的时候又不吭声了
    qoo2019
        32
    qoo2019  
       2020-12-18 11:47:40 +08:00
    @dynastysea 如果后续真有这种场景落地,折腾也就折腾了
    ksc010
        33
    ksc010  
       2020-12-18 11:55:33 +08:00
    可以把直播地址公布到 V2EX 上开个推广让网友帮你测测(手动狗头)
    lllllliu
        34
    lllllliu  
       2020-12-18 14:19:36 +08:00
    阿里云有提供测试平台,可以选择规模,定制压测脚本等。
    SlipStupig
        35
    SlipStupig  
       2020-12-18 15:15:58 +08:00
    你不是已经想到办法了嘛,把你的直播地址发到 v2 上来,然后在直播里面搞抽奖,这个最接近最真实的状态,最后直播抽个 50 块钱红包,也没花多少钱,还可以反复测试
    janwarlen
        36
    janwarlen  
       2020-12-18 15:43:58 +08:00
    开直播,每 10 分钟抽 50 块,一小时耗费 300,一天 8 小时才 2400
    won
        37
    won  
       2020-12-18 15:54:08 +08:00
    扛过一千万的直播
    既然是用了阿里云,还自己测什么呢,第三方的话可以考虑 polyv
    vone
        38
    vone  
       2020-12-18 16:02:40 +08:00   ❤️ 1
    阿里云对于当日峰值带宽大于 20Gbps 的用户每日每 Mbps 收费 0.594 。
    1080P60FPS 按照 5Mbps 码率来算:
    100000*5Mbps 0.594 元 /Mbps/每日 =29.7 万元 /每日
    Lemeng
        39
    Lemeng  
       2020-12-18 16:13:51 +08:00
    专门的公司,或放测试出来!能想到的
    luckyrayyy
        40
    luckyrayyy  
       2020-12-18 16:18:46 +08:00
    一顿优化猛如虎,一看 QPS 0.07/min
    Visitor233
        41
    Visitor233  
    OP
       2020-12-22 10:21:28 +08:00
    @dynastysea
    @kennylam777
    @vone
    @zhs227
    我们的直播是面向全国学生的,就是学校招生,搞个直播。所以才上来就说 10W 。就是阿里那个流量的费用一时看不懂,也不知道那么多人看选那个套餐好点,公司不缺钱。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1180 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 23:50 · PVG 07:50 · LAX 15:50 · JFK 18:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.