前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >互联网直播/点播平台直播时单路视频在线用户并发到300时服务器出现500错误

互联网直播/点播平台直播时单路视频在线用户并发到300时服务器出现500错误

作者头像
EasyNVR
发布2020-05-20 00:21:21
1.2K0
发布2020-05-20 00:21:21
举报
文章被收录于专栏:EasyNVR

因为近期互联网直播/点播需求量激增,我们在项目对接时也遇到各种各样关于视频直播和点播的问题。今天就为大家分享一个并发报错的案例。

提出问题

用户在使用互联网直播/点播平台EasyDSS进行视频会议直播过程中,单路视频的在线用户到300人左右就出现无法响应的问题,服务器报500错误。对系统进行重启后,服务会再次挂掉。

分析问题

沟通得知,互联网直播/点播平台的系统使用与并发均在局域网中,用户使用浏览器观看。通过运行日志查看,300个连接出现500错误,是底层开的 http 请求过多导致,也叫做linux系统打开文件数过多,引发数据库访问失败,整个程序就全部不能正常执行了。除了ceph本身相关参数设置外,还可以修改 linux最大打开文件数和数据库迁移。

解决问题

第一步:增加连接数 首先查看当前系统最大的文件打开数,运行如下命令,先对服务器当前设置的文件数查看:

root@iZj6cj2eq1jzcj0fzwz7f5Z:~# ulimit -Hn 4096 root@iZj6cj2eq1jzcj0fzwz7f5Z:~# ulimit -Sn 1024

返回的结果是 1024,这个不够用,那么我就修改一下。客户目前是4台服务器通过转推的形式同时运行,每台服务器平均并发量为500。

如果以最大的量,300个用户,一个用户同时过来5个连接,再加上软件内部还要维护一层连接,300 X 5 X 2,最大可能会 3000 个。当然一般不会到3000,因为很多请求来了就会关闭掉。一个用户一个连接(这里的连接指的是 http 请求,一个请求就算一个连接)

根据这修改打开文件数量的上限 root@iZj6cj2eq1jzcj0fzwz7f5Z:~# sysctl -n -e fs.file-max 4069 根据这修改打开文件数量的上限,在 /etc/security/limits.conf 文件里,最后加上

  • soft nofile 3500
  • hard nofile 3500

然后重启 nginx 推出重进

第二步:数据库迁移到mysql 当用户数很多的时候,建议将数据库迁移至 mysql使用。系统默认采用的数据库是sqlite,对并发量的支持很少。当然 mysql也需要查看访问 mysql的软件,如果每个软件里面都没有释放数据库链接,可能也不行。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-05-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 提出问题
  • 分析问题
  • 解决问题
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档