项目上用到了rtmp,在原来的基础上改吧改吧
调试完了之后,能跑,想测试一下性能
使用固定端口的socket接收推流,网页端播放
找了找,说st-load的比较多, 最开始想自己编个win版
试了试,不行,因为有个依赖库,state threads, 这个库不支持win
改动起来比较麻烦,就算了
linux下,编译相当容易,congifure,make之后就好了,缺啥装啥就好了
运行, 一般使用下面的命令
./sb_rtmp_load -c 100 -r rtmp://192.168.241.217:1935/app/{i} -m 5
-c 表示连接数
-r 连接地址 ,默认需要写固定地址,我是根据推流代码,自己改造了下,可以每个任务
拉一个流
-m 报告时间,单位s, 默认好像是30s一次吧,太慢了
报告内容如下图:
threads,线程数量
alive, 活跃线程数量吧,这个始终跟threads的值一致,不太确定到底什么含义
duration,时间,从开始到现在的时间
nread, 接收的速度,默认的是按M来显示的,但是我这边rtmp播的都是cif大小的,每个占用带宽很小,看的不方便
所以在os目录下的htl_os_st.cpp中,对StStatistic::DoReport改造了下,换算成kB/s了
nwrite,写速度
tasks,任务数,etasks,错误的任务数,
stasks,子任务数,estasks,子任务错误任务数
对我来说,比较有用的就是nread和etasks了,其他的不太关心
推流没有用st-load这个,主要是推流的数据格式要按照1077协议,与rtp有些不一致,不能直接推流,所以用的是自己写的模拟推流工具
实际测试结果
只看网络流量来判断,单socket,支持100路左右应该没问题,但卡顿不卡顿就不好说了
参考链接:
https://www.testwo.com/article/963