Wowza Stream Engine 4 的性能调优( 二 )



Handler Thread Pool Size
= 60 xProcessor CoresTransport Thread Pool Size= 40 xProcessor Cores


但是 , 注意:Wowza在按上面的公式自动计算Handler Thread Pool Size和Transport Thread Pool Size的值时 , 它假定了你的服务器CPU核数不超过10核(至于为什么要这么假设 , 可能有其它原因) , 也就是说超过10核以上 , 它并没有按上面的 参数设置 , 所以这时你必须手工修改Server.xml文件来调整性能参数 。此外 , 在Wowza Streaming Engine Manager的管理界面上设置Handler Thread Pool Size和Transport Thread Pool Size时 , 它们最大不能超过1024 。 但这只是管理界面上的 限制 。 你完全可以编辑Server.xml文件来修改它们的值 。 注意:Processor Cores的值显示在Performance Tuning主界面上 , 如下图所示 。 Wowza Stream Engine 4 的性能调优
文章图片



Virtual Host Processors


点击左侧导航菜单的Virtual Host Processors 。 在Virtual Host Processors界面展现了在VHost层面处理不同类型的链接的线程数量 。 Wowza Stream Engine 4 的性能调优
文章图片
要改变这些设置 , 请点击Edit 。 当将其保留在Set automatically时 , Wowza Streaming Engine将按照如下规则自己计算这个值:

Net Connections Processor Count
= 2 xProcessor CoresMedia Caster Processor Count= 2 xProcessor CoresIdle Worker Count= 2 xProcessor CoresUnicast Incoming Processor Count= 2 xProcessor CoresUnicast Outgoing Processor Count= 2 xProcessor CoresMulticast Incoming Processor Count= 2 xProcessor CoresMulticast Outgoing Processor Count= 2 xProcessor Cores


Virtual Host Ports


Virtual Host Ports界面展现了当前Wowza使用的端口 , 以及分配给每一个端口的处理线程数量 。 Wowza Stream Engine 4 的性能调优
文章图片
要改变这些设置 , 请点击Edit 。 若将设置保留为Set automatically , 那么Wowza Streaming Engine 将按如下方式自己计算线程数量:

Port 1935 Processor Count
= 2 xProcessor CoresPort 8086 Processor Count= 2 xProcessor Cores




Wowza
上的一些其它设置



Wowza Stream Engine 4 的性能调优
文章图片


对上图中的Client Idle Frequency和RTP Idle Frequency做一个说明 , 如下:Client Idle Frequency是一个单位为毫秒的时长 , Adobe Flash 播放器RTMP连接的idle时长(我理解是一个超时时长) 。 对于最基本的VOD点播来说 , 250毫秒可以提供稳定且性能不错的效果 。 对于低延时的直播业务来说125到250毫秒是合适的 。 如果你对低延时不是特别在意(更在意稳定性) , Client Idle Frequency可以调整到500 , 这样可以降低CPU占用率 , 使得系统可以支撑更多的客户端连接 。 它的有效值是1到1000 。 RTP Idle Frequency是一个单位为毫秒的时长 , 是RTP连接的idle时长(我理解是一个超时时长). 它的有效值是1到1000 。在非低延时流媒体场景下 , 并且你在客户端设置了3秒或更多的缓冲(NetStream.bufferTime), 你可以通过修改[install-dir]/conf/VHost.xml文件中以下两个数值来降低服务器上CPU的负担 , 以处理更多并发连接(sessions):


推荐阅读