Wowza Transcoder 插件同时提供硬件加速编码和非硬件加速编码两种能力,具体依赖于你的硬件配置。这篇文章提供的最新的性能基准数据来自软编码(默认)、Intel Quick Sync(Ivy Bridge)加速编码以及NVIDIA NVENC 加速编码。 这些数据仅供参考,你能得到的性能很大程度上依赖于你的网络带宽、视频源的编码、Wowza的配置以及整个操作系统的瓶颈等等。
注意:
· 本文的性能测试只针对Wowza Streaming Engine™ 软件或Wowza Media Server® 软件 (版本3)以上的版本。
· 重要:在最新的NVIDIA 图形驱动中(340 或以上版本),已经不再支持NVIDIA CUDA 加速编码功能了,因此从Wowza Streaming Engine 4.1.2开始就不再支持基于CUDA的加速编码了。
概述
本文的性能测试采用的Wowza版本是Wowza Streaming Engine 4.4.1
本文所有的测试都采用了相同的机制:持续增加输入流的数量直到服务器的CPU利用率接近65%。我们建议在实际商业运营环境下,转码工作不能消耗超过50%-55%的CPU资源。这将会为转码后的输出流播放保留一定的CPU资源。
注意:
· 在某些时候,GPU的资源可能会比CPU的资源提前耗尽。这也是我们为什么没有去测试CPU利用率超过65%的场景。
· 在执行这些测试之前,Wowza Streaming Engine已经按照性能调优指南进行了性能优化。
测试服务器的硬件配置
服务器 1
- Processor: Single Intel Xeon CPU E3-1285 V3 @ 3.60GHz
- Cores/Threads: 4/8
- Memory: 32 GB
- Motherboard: Supermicro X10SAE
- OS: Linux (64-bit)
- Java: Java 8 (64-bit)
- GPU/Acceleration: Built-in HD4600 with Intel Quick Sync (Haswell)
服务器 2
- Processor: Single Intel Xeon CPU E3-1285 V3 @ 3.60GHz
- Cores/Threads: 4/8
- Memory: 32 GB
- Motherboard: Supermicro X10SAE
- OS: Linux (64-bit)
- Java: Java 8 (64-bit)
- GPU/Acceleration: NVIDIA Quadro M5000
服务器 3
- Processor: Single i7 6700k @ 4.0GHz
- Cores/Threads: 4/8
- Memory: 16 GB
- Motherboard: Supermicro X10SAE
- OS: Windows 10(64-bit)
- Java: Java 8 (64-bit)
- GPU/Acceleration: Built-in HD4600 with Intel Quick Sync (Skylake)
服务器 4
- Processor: Single i7 6700k @ 4.0GHz
- Cores/Threads: 4/8
- Memory: 16 GB
- Motherboard: Supermicro X10SAE
- OS: Windows 10 (64-bit)
- Java: Java 8 (64-bit)
- GPU/Acceleration: NVIDIA Quadro M4000
服务器 5
- EC2 Instance: AWS G2 2.2xlarge
- Cores/Threads: 12/24
- Memory: 32 GB
- 8 EC2 Compute Units: 4 virtual cores with 2 EC2 Compute Units each
- OS: Amazon Linux
- Java: Java 8 (64-bit)
- EC2 Instance:G2 2.2xlarge
- GPU/Acceleration: NVENC
服务器 6
- EC2 Instance: AWS G2 2.8xlarge
- Cores/Threads: 12/24
- Memory: 32 GB
- 8 EC2 Compute Units: 4 virtual cores with 2 EC2 Compute Units each
- OS: Amazon Linux
- Java: Java 8 (64-bit)
- EC2 Instance:G2 2.8xlarge
- GPU/Acceleration: NVENC
服务器 7
- EC2 Instance: AWS C4.8xlarge
- Memory: 15 GB
- 8 EC2 Compute Units: 4 virtual cores with 2 EC2 Compute Units each
- Java: Java 7 (64-bit)
- OS: Amazon Linux
- EC2 Instance:C4.8xlarge
- GPU/Acceleration: None
服务器 8
- Azure: Azure-D4-v2
- Memory: 60 GB
- 20 EC2 Compute Units: 32 virtual cores with 3.37 EC2 Compute Units each
- Java: Java 7 (64-bit)
- OS: Azure Linux
- Instance Type: Azure-D4-v2
- GPU/Acceleration: None
服务器 9
- Google: GCP-n1-highcpu-32
- Memory: 60 GB
- 20 EC2 Compute Units: 32 virtual cores with 3.37 EC2 Compute Units each
- Java: Java 7 (64-bit)
- OS: Google Linux
- EC2 AMI: GCP-n1-hoghcpu-32
- GPU/Acceleration: None
用于测试的输入流
转码率(Transrate 720p)
- Video Codec: H.264
- Video Frame Size: 1280x720
- Video Frame Rate: 24 fps
- Video Bitrate: 5.588 Mbps
- Audio Codec: AAC
- Audio Sample Rate: 48 kHz
- Audio Channels: Stereo
- Audio Bitrate: 97 kbps
转码率(Transrate 1080p)
- Video Codec: H.264
- Video Frame Size: 1920x1080
- Video Frame Rate: 24 fps
- Video Bitrate: 9.7208 Mbps
- Audio Codec: AAC
- Audio Sample Rate: 48 kHz
- Audio Channels: Stereo
- Audio Bitrate: 97 kbps
转编码(Transcode)
- Video Codec: MPEG-2
- Video Frame Size: 1280x720
- Video Frame Rate: 23.98 fps
- Video Bitrate: 3.0 Mbps
- Audio Codec: MPEG-1 Layer 2
- Audio Sample Rate: 48 kHz
- Audio Channels: Stereo
- Audio Bitrate: 128 kbps
Wowza Streaming Engine 4是业界功能强大、API接口丰富的流媒体Server产品,采用它作为流媒体服务器产品的案例很多,直播、在线教育、IPTV都有它的用武之地。