目录
一、问题背景
客户在公网测试服务器中的视频监控平台接入了两路rtsp流并在服务器中进行录像。最近发现在web客户端播放视频或录像视频时,有的画面不流畅,频繁出现卡顿花屏的现象,需要我们帮忙诊断、解决。
二、解决过程
实时视频和录像出现问题时,一般需要检查分析以下几个方面:①平台进程是否正常运行;②服务器资源包括CPU、内存使用情况,是否出现负载过高等现象?③网络带宽情况。
1、检查平台进程
检查进程在服务器中的日志,发现各进程运转正常,没有明显的错误日志,可以排除平台进程的问题。
2、检查服务器CPU内存的使用情况
在linux中,有多种方式可以检查CPU和内存的使用情况。
①top/htop命令
top 命令是最常用的实时监控系统资源使用情况的工具之一。它显示了系统的CPU、内存、交换空间等的使用情况,以及正在运行的进程的详细信息。
在命令行输入”top”即可查询到如下图中的信息:
②vmstat命令
vmstat命令会显示关于系统内存、进程、中断、CPU活动等的统计信息。
vmstat命令的一般用法是:
vmstat [options] [delay] [count]
[options] 是可选的命令选项,用于控制输出的内容和格式。例如,-a 显示所有信息,-s 以摘要形式显示系统统计信息等。
[delay] 是采样时间间隔,表示命令在每次输出之间等待的时间。如果不指定这个参数,vmstat 将只输出一次当前的统计信息。
[count] 是采样次数,表示命令总共输出多少次统计信息。如果指定了采样时间间隔但没有指定采样次数,则命令将持续输出统计信息,直到被手动中断。
③free命令
free 命令用于显示系统中空闲和已用的物理内存及交换内存,以及它们的缓冲区大小。
④sar命令
sar用于收集、报告或保存系统活动信息。它可以用来收集CPU、内存、I/O等的统计数据。
sar的基本语法为:
sar [options] [interval] [count]
[options]:可选参数,用于控制sar的输出。例如,-u表示显示CPU使用情况,-r表示显示内存和交换空间使用情况。
[interval]:采样时间间隔,表示命令在每次输出之间等待的时间。如果不指定,则sar可能只显示当前的活动情况。
[count]:采样次数,表示命令总共输出多少次统计信息。如果指定了采样时间间隔而没有指定采样次数,则sar将持续输出统计信息,直到被手动中断。
经过以上不同的方法确认,服务器运转正常,没有出现CPU内存负载过高的现象,因此可以排除这个原因。
3、检查网络带宽情况
检查网络带宽情况可以使用iftop命令,iftop是一个基于终端的实时网络流量监测工具,可以显示网络接口的实时流量和连接信息。它可以帮助用户查看网络中的各个主机之间的通信情况,并提供实时的流量图表。
iftop显示服务器到各个地址的带宽使用情况,=>代表上传,<=代表下载
从红框中可以看出,在客户端播放客户接入的视频流时,占用了平台比较多的带宽,客户平时又需要对视频流进行录像,需要不断拉流下载,而视频监控平台的公网测试服务带宽不高,导致带宽超过上限,所以会出现播放实时视频、录像时出现卡顿花屏的现象。
三、最终效果
调查出结果后,与客户进行沟通,希望客户可以降低接入视频流的码率,减少带宽使用。客户使用子码流接入视频监控平台,并降低视频码率到1M后,在视频监控平台客户端播放客户接入的视频流,没有再出现卡顿、花屏的现象,问题得到了解决。
文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。