FMS配置小结
官方连接:http://help.adobe.com/en_US/flashmediaserver/configadmin/WS5b3ccc516d4fbf351e63e3d119f2925e64-8000.html
FMS服务器将应用划分为四个层面:Server/Adaptor/Vhost/Applications,Server在最高层,可以包含多个Adaptors,每个Adaptors可以包含多个Vhost,每个Vhost可以包含多个Application,每个Application可以包含多个Instance;
Adaptor可以指定IP和Port,组织Vhost
Vhost类似配置在一台服务器上的多个站点
Application配置每个FMS应用,比如live、vod、livepkgr等
可以复制_defaultRoot_来生成新的Adaptor,此时需要配置新目录下的Adaptor.xml的HostPort的值此时如果要登录admin console来管理新的Adaptor,则需要在原登录名加新Adaptor的名字,比如XXX/fuland539,密码保持不变;也可以复制_defaultVHost_来生成新的Vhost,此时需要配置新目录下的Vhost.xml的AppsDir的值指定Application的目录;
录制视频需要管理缓存,当试图访问一个流内容片段时,服务器会先优先检查缓存,如果缓存存在,那么将把请求指向这个缓冲空间的流来播放,如果缓存不存在,服务器将从存储上请求这个源,并放入缓存,只有从新的缓存给用户播放流;在fms.ini中配置SERVER.FLVCACHE_MAXSIZE,默认是500MBytes,这个数值直接关系到通过服务器能够发布视频流的数量,该设置不会影响到直播,直播流不需要操作服务器缓存
流内容在网络上传输会被分解成数据块,针对RTMP,可以设定其传输数据块的尺寸,数值大会降低服务器的CPU占用,但是会影响带宽接入用户的流畅性,并且数值越大,需要用户有越快的带宽接入;在Application.xml中设置OutChunkSize,默认是4096bytes
某些情况下,服务器会在发送消息前将其聚合,这样可以降低CPU占用,增加服务器性能;在Application.xml中设置AggregateMessages,默认是开启的
在广播一路直播流时,可以进行音频采样整合,但是如果已经打开直播的聚合消息设置,则不能合并音频采样,
需要在fms.ini中配置如下选项:
1)APP.SUBSCRIBERS 超过这个参数数值的用户订阅一路流,音频采样将被合并,默认为8,如果需要提升直播流的性能,可以将值设置为1
2)APP.COMBINESAMPLES_LOCPU 如果CPU占用低于这个值,合并不进行,默认为60,如果需要提升直播流的性能,可以将值设置为1
3)APP.COMBINESAMPLES_HICPU 如果CPU占用高于这个值,进行合并,默认为80,如果需要提升直播流的性能,可以将值设置为1
4)APP.COMBINESAMPLES_MAXSAMPLES 合并几路到一路,默认是4,如果需要提升直播流的性能,可以将值设置为8
某些时候,为了视频流的流畅,需要限制每一个监听器每秒可以接受的最大用户请求,监听器可以在Apaptor.xml的HostPort里进行配置,每个配置的服务器端口用来表示为一个监听器,0或-1表示禁用该功能;可以在Server.xml中配置<RTMP><Edge>下的<MaxConnectionRata>的值,默认是10
某些场景用户在一个应用上长期不进行操作,为了声明这些资源位新的活跃用户可用资源,服务器可以关闭这些空闲连接,此时,客户端会相继收到NetConnection.Connect.Idle和NetConnection.Connect.Colosed,并在服务器端写LOG;可以在Server.xml、Vhost.xml和Application.xml中配置:
<AutoCloseIdleClients enable="true">
<CheckInterval>60</CheckInterval>
<MaxIdleTime>3600</MaxIdleTime>
</AutoCloseIdleClients>
在FMS启动的时候,会开四个进程FMSAdmin、FMSCore、FMSMaster和FMSEdge:
1)FMSAdmin用于支持admin console,管理服务器
2)FMSEdge用于支持Edge服务器的相关工作
3)FMSMaster用于监控,在必要时启动FMSCore进程,只能有一个master,有多个core
4)FMSCore用于实际干活,他的数量受系统内存的大小限制,一般不超过100个
为了配置一个进程的作用域,可以在Application.xml的Scope标签中分配core进程的级别,应用可以单独运行在一个进程中,
也可以与其他应用实例共存于一个实例中,他包括以下选择:
1)adaptor:一个adaptor下的所有实例共用一个进程
2)vhost:在一个vhost下的所有应用共用一个进程,默认值
3)app:在一个应用下的所有实例共用一个进程
4)inst:每个应用实例拥有自己的进程,提供了最好的应用隔离体制,最适合于VOD点播的stateless无状态模式加入<Distribute numprocs="3">inst</Distribute>代表将实例分配给3个core进程,其值不能超过40,并且每个core进程最小内存不能小于100MB,理论3到11最佳,其值为client/vhost/app/inst;还可以加入<MaxCores>来指定core进程的最大数量;还可以加入<RollOver>来指定每个进程运行的时间(s),到一个core到达生命周期,任何新的连接将转向一个新的core进程,到期的进程还继续服务器旧连接,直到连接不关闭,举例:
<Process>
<Scope>app</Scope>
<LifeTime>
<RollOver>3600</RollOver>
<MaxCores>3</MaxCores>
</LifeTime>
.......
</Process>
还有<MaxFailures>标签,代表允许进程失败的最大容忍数量,达到这个数量,core进程将被master进程关闭后重启;当被关闭后,在等到<RecoveryTime>延迟后,master会重启并恢复进程,如果设置为0将不会检查进程失败
Administration Console必须指定一个特别的调试连接来获得播放流及获得共享对象数据,默认是不允许开放这个连接的,需要配置Application.xml:
<Debug>
<MaxPendingDebugConnections>50</MaxPendingDebugConnections>
<AllowDebugDefault>false</AllowDebugDefault>
</Debug>
如果要在Application.xml中加入新属性,需要在JSEngine标签里面创建一个XML标签,属性命名需要响应对应的标签的名字,属性值对应标签的值,举例;
<Application>
<JSEngine>
<config>
<user_name>jdoe</user_name>
<dept_name>engineering</dept_name>
</config>
</JSEngine>
</Application>
这样,从服务器端AS去访问这些属性,使用下面的语法:
application.config.prop_name 或 application.config["prop_name"],比如:
application.config["user_name"] 或 application.config["dept_name"]
通过配置可以让服务器检测客户端带宽,他是通过向客户端发送一系列的数据包来实现的,发送的数据包依次增大;如有必要,可以配置发送数据包的大小、比率以及发送持续时间;在Application.xml中
配置如下:
<BandwidthDetection enabled="true">
<MaxRate>-1</MaxRate>
<DataSize>16384</DataSize>
<MaxWait>2</MaxWait>
</BandwidthDetection>
FMS配置小结的更多相关文章
- VMware ESXi 配置小结
VMware ESXi 配置小结------------------------------------------------------------------------------------ ...
- Nginx配置小结
前两天区听了一堂Nginx的课,然后翻了一下自己之前的Nginx的笔记,做了一个简单的小结. 全局变量 $args : 这个变量等于请求行中的参数,同$query_string $content_le ...
- 【JBOSS】数据库连接配置小结
数据库驱动位置: %JBOSS_HOME%\server\default\lib目录下. 数据库配置文件位置:JBOSS_HOME\docs\examples\jca\XXXX-ds.xml < ...
- nginx虚拟主机配置小结
nginx的安装在lnmp环境搭建中已经介绍过了,配置文件在安装目录下的conf子目录下,主要主要分成四部分:main(全局设置).server(主机设置).upstream(负载均衡服务器设置).l ...
- nginx+php-fpm的socket配置小结
关于socket的介绍本文不再赘述,生产环境中常用socket方式,本文简述其配置方式. #cd /app/local/php#切换到php安装目录下 #mkdir run #chmod 777 ./ ...
- CentOS下Redis安装配置小结
Redis是REmote DIctionary Server的缩写. 是一个使用 C 语言写成的,开源的 key-value 非关系型数据库.跟memcached类似,不过数据可以持久化. Redis ...
- Nginx支持多站点配置小结
如何配置 web 服务器才能在一个 VPS 上放置多个网站/博客呢?如何通过一个 IP 访问多个站点/域名呢?这是大多数 web 服务器支持的 virtual hosting 功能.即一个IP对应多个 ...
- Hadoop 2.4.1 登录认证配置小结
1.简单模式 这种模式,配置简单,使用简单. core-site.xml添加 <property> <name>hadoop.security.authorization< ...
- ArchLinux安装与配置小结
最近无意间发现一个基于ArchLinux的发行版--BlackArch,主题十分炫酷(中二).当然渗透类的Linux 发行版已经有BackTrack和Kali了,不过都是源于Debian的,使用者众多 ...
随机推荐
- CSS之基础
css是英文Cascading Style Sheets的缩写,称为层叠样式表,用于对页面进行美化.存在方式有三种:元素内联.页面嵌入和外部引入,比较三种方式对优缺点. 语法:style = &quo ...
- 猪八戒吃西瓜(wmelon)
猪八戒吃西瓜(wmelon) 题目描述 有一天,贪吃的猪八戒来到了一个大果园,果园里有n(n≤100000)个大西瓜,每个西瓜 的质量不大于长整型(longint),并且每个西瓜的质量都不同.猪八戒非 ...
- ScrollView的fillViewPort属性
ScrollView嵌套Relative时候会发生问题,RelativeLayout不会充满ScrollView,即使设置match_parent属性也不行 这个时候就需要fillViewPort属性 ...
- openstack controller ha测试环境搭建记录(十二)——配置neutron(计算节点)
在计算节点配置内核参数:vi /etc/sysctl.confnet.ipv4.conf.all.rp_filter=0net.ipv4.conf.default.rp_filter=0 在计算节点使 ...
- Android新手入门
本博客出自公众号安卓应用频道:http://mp.weixin.qq.com/s?__biz=MzA3MDMyMjkzNg==&mid=2652261947&idx=1&sn= ...
- PHP和MySQL Web开发(原书第4版) 高清PDF+源代码
PHP和MySQL Web开发(原书第4版) 高清PDF+源代码 [日期:2014-08-06] 来源:Linux社区 作者:Linux [字体:大 中 小] 内容简介 <PHP和My ...
- Spring--注入类型--setter
setter注入: package com.bjsxt.service; import com.bjsxt.dao.UserDAO; import com.bjsxt.model.User; publ ...
- HDU 4044 GeoDefense
树形DP,和背包差不多.dp[now][x]表示now这个节点的子树上,花费为x的时候,获得的最大防御能力(保证敌方HP<=0) #include<cstdio> #include& ...
- (中等) HDU 1542 Atlantis,扫描线。
Problem Description There are several ancient Greek texts that contain descriptions of the fabled is ...
- mysql----ERROR 1040 (HY000): Too many connections
http://gwokae.mewggle.com/wordpress/index.php/archives/683 查看最大链接 mysql -h alg-db14 -u bfdroot -pqia ...