i

itbunan

V1

2022/12/16阅读:29主题:默认主题

centos7部署rtmp服务并进行压力测试

前言

上一篇文章: 利用iperf3测试两个节点之间的网络性能 ,而影响应用并发有可能是其他方面的原因。直播一般是流量消耗大户,本篇文章分享部署rtmp服务的方法,以及如何进行压力测试。

服务部署

nginx-rtmp是打包好的rtmp镜像,在安装了docker的服务器上直接启动即可,非常方便。

启动

# 获取镜像
docker pull alfg/nginx-rtmp

# 启动rtmp服务
docker run -it -p 3008:1935 -p 8080:80 --rm alfg/nginx-rtmp

推流

利用本地mp4文件进行推流

# 安装ffmpeg
yum-config-manager --add-repo=https://negativo17.org/repos/epel-multimedia.repo
yum-config-manager --disable epel-multimedia
yum install --enablerepo=epel-multimedia ffmpeg ffmpeg-devel

# 验证
ffmpeg -version

# 测试视频
wget http://dl.itbunan.xyz/test.mp4

# rtmp推流
# stream_loop  -1 循环 -0 单次
# copy 编码复用
ffmpeg -re -stream_loop -1 -i test.mp4 -vcodec copy -acodec copy -f flv rtmp://127.0.0.1:3008/stream/test

# hls推流
ffmpeg -re -stream_loop -1  -i test.mp4 -vcodec libx264 -acodec aac -f flv rtmp://127.0.0.1:3008/hls/test

测试

服务状态

http://IP:8080/stat

lbamq6pi.png
lbamq6pi.png

服务器状态

通过top,iftop, dstat等工具查看

dstat

yum install -y dstat
dstat  -cmdngy -N bond2 --bits
lbanzcri.png
lbanzcri.png

可用性测试

rtmp流

# 本地安装ffplay, 可以打开播放即可
ffplay  rtmp://ip:3008/stream/test

hls流

# 服务端修改
docker exec -it  zen_wescoff sh
vi /www/static/player.html
    //var params = new URLSearchParams(window.location.search);
    //var url = params.get('url');
    var url = 'http://IP:8080/live/test/index.m3u8'

本地通过浏览器访问,可以播放视频 http://IP:8080/player.html

压力测试

有钱人可以使用 阿里云性能测试 ,功能很强大,唯一缺点就是贵。本人尝试用了下,几十块没了。什么也没测出来。有可能是配置不对,总之懒得看了,玩不起。直接用st-load自己测吧。

# st-load 在centos8上编译失败了,也懒得排错了。直接起一个centos7的镜像吧。
docker pull centos:7.9.2009
docker run -d --name=centos7 --privileged centos:7.9.2009 /usr/sbin/init
docker exec -it centos7 /bin/bash

# https://github.com/rzrobert/st-load-master.git
wget http://dl.itbunan.xyz/st-load-master.tgz
tar xvf st-load-master.tgz
cd st-load-master/
./configure
make

# 支持包
 yum -y install patch unzip make  gcc gcc-c++ libstdc++-devel

# 执行压测,-c 后面是并发数
./objs/sb_rtmp_load -c 10 -r rtmp://ip:3008/stream/test

跑压测的同时,用自身电脑ffplay单独启动一路,如果正常播放,说明没有到达瓶颈

分类:

后端

标签:

运维部署

作者介绍

i
itbunan
V1