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

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

  •  
  •   Visitor233 · 302 天前 · 3918 次点击
    这是一个创建于 302 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

    你们公司带宽问题?

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

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

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

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

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

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

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