zoukankan      html  css  js  c++  java
  • 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>

  • 相关阅读:
    redhat 找不到eth0等网卡设备
    oracle12.2 windows 安装卸载重新学习
    Ubuntu官方推荐U盘镜像写入工具(转载别人的)
    linux sh 脚本获取命令结果变变量然后post
    img图片过长自动截取隐藏
    python 数字类型
    Pycharm 常用快捷键 转自 暮良文王
    #python输入输出
    勤学如春起之苗,不见其增日有所长。缀学如磨刀之石,不见其损日有所亏
    感冒了,好难受
  • 原文地址:https://www.cnblogs.com/youlechang123/p/5713262.html
Copyright © 2011-2022 走看看