流媒体服务器作为为用户提供服务的基本功能单元,其性能的高低直接影响到流媒体系统的服务能力。在衡量流媒体服务器时,最关键的指标是流输出能力和能同时支持的并发请求数量,下面我们以本地硬盘作为存储介质的流媒体服务器为例,首先对其工作过程进行简单的分析:
(1)从硬盘盘碟中分段读取流媒体文件内容,经过硬盘接口电路(SCSI、IDE)、PCI总线和系统内部总线存储到内存中(途中经过硬盘控制卡和PCI控制器两个转换接口)。
(2)在流媒体文件被发送到网络上之前,CPU需要对内存中的流媒体文件片段进行一些处理,例如,复制、切分、按协议打包等。
(3)打包之后的文件内容在内存中通过系统内部总线、PCI控制器、PCI总线到达网卡。
(4)网卡将文件内容再一次包装后发送到外部网络。
通过以上的分析可以看出,在硬件方面有四个影响到流媒体服务器性能的关键因素:CPU处理能力、内存、磁盘读取能力和网络吞吐率。
(1)CPU处理能力
流媒体服务器的CPU主要进行内容文件的复制、切分和按协议打包等工作,并对用户发起的各种服务请求(如快进、快退、搜索等)进行响应和处理以及服务器列表信息的维护和检索等。
对CPU处理能力的要求,随着需要支持用户并发访问和服务数量的增长而提高,当并发用户数越多,点播的节目越分散,对CPU的处理要求越高。当进行直 播或用户点播单一文件时,服务器为用户提供的内容都是相同的,只需要读取一份源内容,然后进行内容的复制、分发操作;而当用户点播不同的节目时,不仅要进 行内容的分发操作,还需要从多个节目源中取内容,进行更多的磁盘读取和内容读写操作,需要启动更多的进程,每个进程分配的时间片变小,并需要增加更多的进 程切换操作。因此同样配置的服务器,用于直播服务的可以同时为几千个用户服务,但用于点播服务时,则只能为几百个用户提供服务。
另外,在流媒体服务的不同阶段,CPU的负荷也是不同的。在流媒体连接建立初始阶段,除正常的文件复制、切分和协议打包工作外,会有更多的交互请求需 要处理,而且为减少用户等待缓存的时间,有些系统会在短时间内提高文件传输速度,这就导致更多的文件读取和处理工作,要比平稳连接阶段更耗费资源。
(2)对原始数据的读取能力
原始流媒体文件的存放方式主要有本地硬盘、NAS或SAN存储设备几种。不论那种数据存储方式,原始数据文件的读取能力都将直接影 响到服务器的性能。对读取能力的要求,与业务类型和用户请求的数量有很大的关系。直播对于数据读取速率的要求最低,不过它需要为多少用户提供服务,只需从 数据源取一份数据,然后进行复制;但是,点播则需要为每个用户读取不同的数据源,对数据源的读取压力大得多。
原始数据的读取能力是流媒体服务器最大的性能瓶颈,主要是受到存储设备的速度限制。目前主要采用两种解决方法:一是采用Raid技术和磁盘阵列,提高 硬件速度,不过价格较高;另一种方法是采用文件缓存技术,如果几个用户点播同一个节目,就可以从缓存中而不是存储设备中读取数据,减少存储设备压力。不过 这种方法效果有限,随着点播用户请求数的增长,用户点播的节目会越来越分散,在缓存中命中的比例就会逐步降低,当命中率降低到一定程度,起不到减轻存储设 备读取压力的作用。
(3)内存
在流媒体服务器中,内存可以按其用途分为两大部分。一部分是为处理每个用户的流媒体请求和服务使用的内存,用户的平均内存使用率取决于流媒体内容的发 布类型和编码设置,如比特率、包大小、音频流和视频流的数目等。根据用户行为、服务的目标用户数、用户请求连接流的分散率和发布点类型,可以估算出一个流 媒体服务器需要使用多大的内存。
另一部分是用于缓存数据文件。当服务器处理、发送和从存储设备读取数据时,都需要通过内存进行内容缓存。当内存不足时,会出现内存分页现象。内存分页 可能会造成无法预料的延迟。大物理内存可以将因内存分页而产生的延迟最小化,更多的内存可以提供更多的文件缓存,减少存储设备读取能力瓶颈造成的影响,提 高服务器性能。
(4)网络吞吐率
服务器网络接口的服务能力影响到数据的传输,当网络带宽不足时,会导致数据收发延迟,导致用户服务中断。服务器的网络吞吐率只与用户数量和点播节目的编码率有关。
对于一个流媒体服务器来说,以上几个因素中的任何一个都会造成服务器无法正常工作。另外,各个性能因素和处理环节是相互联系、相互影响的。例如当内存 不足时,会产生大量的内存分页操作,同时也会造成CPU的使用率很快上升到100%;增大内存,提高服务器内存缓存能力,还可以降低硬盘读取操作。因此,在进行服务器配置时,要尽量做到各方面的性能协调和匹配,各性能指标均衡,同时应考虑到不同组件的价格不同,比如存储设备价格较高,可相应配置较低的CPU和较大的内存,以提高设备的性价比。
分享到:
相关推荐
服务器性能瓶颈分析涉及多个方面,包括硬件子系统,如内存、CPU、硬盘和网络。下面是对各类服务器性能瓶颈的详细解析: 1. **葵芳域控制服务器**:这类服务器主要用于网络认证和资源管理,性能瓶颈通常出现在内存、...
在IT领域,服务器性能的优化至关重要,因为这直接影响到服务的响应速度、稳定性以及整体效率。本文将深入探讨不同类型的服务器在实际应用中的性能瓶颈,以便于进行有效的性能优化。 首先,域控制服务器(Domain ...
### 各种应用服务器简介与性能瓶颈 #### 一、域控制器(Domain Controller) 域控制器是一种专门用于身份验证和安全策略执行的服务器类型。它在企业级网络环境中扮演着核心角色,负责用户、设备和计算机的认证管理...
### 支持IPv4/IPv6流媒体代理服务器的关键知识点 #### 背景与问题描述 随着互联网的快速发展,流媒体技术已成为网络应用的重要组成部分,涵盖了VOD(视频点播)、视频直播、远程教育、UGC(用户生成内容)如...
在分析源代码时,可以结合实际场景进行模拟测试,比如模拟不同网络环境下的流传输,或者测试大并发情况下的服务器性能。这有助于更深入地理解Darwin流式服务器的工作原理,并可能发现潜在的改进点。 总的来说,对...
在深入探讨流媒体服务器Red5的扩展设计、测试与优化之前,首先需要了解Red5服务器是什么,以及它在流媒体传输中的作用。Red5是一个开源的流媒体服务器平台,使用Java语言编写,主要用于支持Flash流媒体的实时通信和...
硬件配置方面,如深圳服务器配备双至强E5处理器、32GB内存和大容量硬盘,以及不限流量的BGP多线路接入,旨在提供高性能和高带宽支持,以满足流媒体服务的需求。五台这样的服务器加20M BGP带宽的年费用总计113,300元...
针对以上问题,本研究的贡献主要表现在通过私有云环境的搭建和实验设计,对流媒体业务进行了性能基准测试,深入分析了虚拟化环境对流媒体性能的影响,并为后续如何在云环境中优化流媒体业务性能的研究提供了基础。...
测试小程序可能包含网络性能监测功能,能够测量服务器与其他节点间的通信质量,这对于Web服务、流媒体等依赖网络的应用尤其重要。 4. **负载压力测试**:通过模拟大量并发请求,测试服务器在高负载下的表现,识别...
硬件技术是服务器性能的基础。了解和掌握以下子系统的特性和优化方法对于提高服务器整体性能至关重要。 ##### 4.1 处理器与缓存子系统 - **处理器架构**:不同的处理器架构适用于不同类型的工作负载。例如,多核心...
11. **性能优化**:通过对系统性能的持续监控和分析,可以识别瓶颈并进行优化,包括调整配置参数、升级硬件或采用更高效的技术。 12. **服务质量(QoS)**:媒体服务器需要提供稳定的QoS,确保用户获得流畅的媒体...
- **高容量硬盘**:根据所提供的服务类型,选择合适的硬盘容量,如流媒体服务需要较大的存储空间。 #### 四、不同服务类型下的服务器配置 1. **Web服务** - 静态网页:较低的硬件要求,重点关注内存和网络子系统...
- 缺点在于随着前端摄像机数量的增加,流媒体服务器的压力会显著增大,进而影响系统的整体性能。 2. **流媒体模块和存储模块整合的结构** - 这种结构将流媒体模块和存储模块集成在同一台服务器上,可以有效减少...
例如,一个视频流媒体服务器可能需要支持每秒数十兆字节的连续读取速度。 #### Windows相关的特性和考虑因素 - **文件系统**:不同的文件系统具有不同的性能特点。例如,NTFS提供了更好的安全性和元数据管理功能,...
综上所述,“傲视”P2P实时流媒体系统通过创新的数据传输机制,有效地解决了传统流媒体系统中常见的硬件资源和带宽瓶颈问题。该系统不仅能够大幅降低媒体源的硬件要求和信号源的输出带宽需求,还能在现有的网络基础...