FMS带宽的需求计算法
在开始一个使用 FLASH MEDIA SERVER的项目开始之前,最好能够对你项目使用FLASH MEDIA SERVER 3的带宽需求进行计算.这样对你的项目最终的实现效果,会有一个稳定的结果;去评估您的 Flash Media Server 应用所使用的带宽, 您需要了解如下内容:
- 您的应用并发用户数量的最大负荷数
- 数据传输速度,您预计您的用户连接速度( 56 Kbps 拨号上网, cable/DSL, 或者是居域网的使用比例)
- 您的应用将要支持视频/音频操作的用户比率
- 服务器硬件的局限性以及互联网状况
- 您应用中视频和音频格式的频率
首先区分您应用的类型;一种为一对多(例如视频点播),另一种是多对多(例如视频会议),
Figure 1. One-to-many 视频点播系统
带宽计算公式
- 计算服务器端带宽需求 (BWs):
BWs = N × S
N = 并发用户数量 //number of simultaneous users (subscribers)
S = 视频内容平均编码比特率 //average bitrate of encoded A/V content - 计算客户端带宽需求(BWc):
BWc = S
S = 视频内容平均编码比特率 //average bitrate of encoded A/V content
举例:
视频编码是500 Kbps,有1000人进行观看那么服务总体带宽需求是
500 Mbps = 1000 × 500 Kbps
如果您的服务器支持600 Mbps吞吐量的硬件配置能力,您只需要一台服务和许可就可以.
当然如果您需要更多的用户访问量,比如10,000人并发需求,那么下面的计算式:
5000 Mbps = 10,000 × 500 Kbps
并发服务器硬件配置能力是600 Mbps,您需要:
8.3 = 5000 Mbps ÷ 600 Mbps
调整多比率计算方程式
例如,前面的例子有一半人使用350 Kbps DSL modem,另一半人使用的是3 Mbps cable modem.当观众收看视频编码为500 Kbps的时候,你想要分割视频为150KBPS给DSL modem用户.
325 Mbps = (500 Kbps × 500) + (150 Kbps × 500)
这样带宽被降到了325MBPS.
实例2:多对多
例如视频会议,需要多个人同时看到对方.
Figure 2. 多对多视频会议
例如,如果有四个人在一个房间中,第一个人可以发送一个视频和接受三个其他的视频流,总共四个视频流.同样的第二,三,四个人也会消耗四个视频流.因此Flash Media Server视频流的总共数量是16每四个人.
带宽计算
- 计算服务端带宽 (BWs):
BWs = (P × N) × S
P = 发布者的数量
N = 订阅者的数量
S = 视频编码的平均比特率 - 计算客户端带宽 (BWc):
BWc = P × S
P = 发布者的数量
S = 视频编码的平均比特率
实例计算
为四个人使用100 Kbps的视频流为一个会议室服务端带宽需要:
4.8 Mbps = (4 × 4) × 300 Kbps
为四个人使用100 Kbps的视频流为一个会议室客户端带宽需要:
900 Kbps = 3 × 300 Kbps 下载流
300 Kbps = 1 × 300 Kbps 上传流
因此每个视频会议房间将会需要一个4.8 Mbps的带宽.一台吞吐量为600 Mbps的服务器,你可以支持600 Mbps ÷ 4.8 Mbps = 125 房间.
FMS带宽的需求计算法的更多相关文章
- 大型网站的灵魂——性能
前言 在前一篇随笔<大型网站系统架构的演化>中,介绍了大型网站的演化过程,期间穿插了一些技术和手段,我们可以从中看出一个大型网站的轮廓,但想要掌握设计开发维护大型网站的技术,需要我 ...
- 深入浅出HTTP协议(WEB开发和面试必备)
1. 基础概念篇 a.简介 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web Consortium)和 ...
- 深入理解http/https协议
深入理解HTTP协议(转) http协议学习系列 1. 基础概念篇 1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(Wo ...
- SDN与NFV技术在云数据中心的规模应用探讨
Neo 2016-1-29 | 发表评论 编者按:以云数据中心为切入点,首先对SDN领域中的叠加网络.SDN控制器.VxLAN 3种重要技术特点进行了研究,接下来对NFV领域中的通用服务器性能.服务链 ...
- HTML5离线缓存问题
HTML5离线缓存问题 1.应用程序缓存 什么是应用程序缓存(Application Cache)? HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问. ...
- 转载和积累系列 - 深入理解HTTP协议
深入理解HTTP协议 1. 基础概念篇 1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web C ...
- 【转】HTTP协议详解
原文地址:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436.html 一.概念 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则 ...
- CDN技术
CDN 是构建在数据网络上的一种分布式的内容分发网. CDN 的作用是采用流媒体服务器集群技术,克服单机系统输出带宽及并发能力不足的缺点,可极大提升系统支持的并发流数目,减少或避免单点失效带来的不良影 ...
- CDN(内容分发网络)技术原理
1. 前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加, 用户数量也在不断增加,受Web服务器的负荷和传输距离 ...
随机推荐
- 【GO】关于GO的浅显总结
最近看了下go的入门教程,被它的强大震撼了,第一印象感觉特点主要有如下几个吧: 1. 集c,python,erlang之长,和c同属静态语言,保证效率:语法如python一样简洁,库很强大:从erla ...
- JQuery的隐式迭代和each函数和map函数
1.JQuery选择器选择出来的是一个数组对象,可是给这些每一个元素都要设置内容时,就会隐式迭代,JQuery自己实现内部循环给每个元素绑定上设置. 2.如果是获取的话,那就是默认获取第一个元素的值. ...
- php解决微信开发中用户昵称中的特殊字符与emoji表情写入mysql错误的问题
解决办法:将3个字节的特殊字符与emoji表情替换掉即可. $nickname = preg_replace('/xE0[x80-x9F][x80-xBF]'.'|xED[xA0-xBF][x80-x ...
- NSMutableDictionary
NSDictionary *dic = @{@"name":@"yj", @"age":@"24", @"ho ...
- JMS连接WMQ及收发消息
因为对JMS的了解也只算入门级,有些概念也很模糊,不过,卤煮会尽可能去介绍的.另外,sample code都调试过可以跑. 1.神马是JMS? jms即Java消息服务(Java Message Se ...
- 子数涵数·C语言——循环语句
之前,我们讲过了编程中的三种结构(顺序.条件.循环),现在我们来看一下循环语句如何编写. 一.while循环语句(先判断后执行) 1 #include<stdio.h> 2 int m ...
- Spark 的combineByKey函数
在Spark中有许多聚类操作是基于combineByKey的,例如group那个家族的操作等.所以combineByKey这个函数也是比较重要,所以下午花了点时间看来下这个函数.也参考了http:// ...
- Servlet实现文件上传(深度)(二)
1.首先我们定义struts.properties的文件上传中的规则如下 struts.action.extension=action <!--以.action为我们提交的后缀名-->s ...
- IOS 清除UIWebview的缓存以及cookie
cookie清除 NSHTTPCookie *cookie; NSHTTPCookieStorage *storage = [NSHTTPCookieS ...
- HTML学习(三)文本格式化
HTML文本格式化HTML 可定义很多供格式化输出的元素,比如粗体和斜体字.例1:此例演示如何在一个 HTML 文件中对文本进行格式化<html> <body> <b&g ...