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

2020-12-17 20:59:32 +08:00
 Visitor233

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

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

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

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

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

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

你们公司带宽问题?

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

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

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

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

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/736541

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX