Media Recorder sizing for voice, video, screen - application share recording

Voice recording CPU sizing

The table below shows the supported number of simultaneous voice calls per CPU core: 

  • The system was tested up to 16 core servers, where 2 cores must be reserved for the OS, leaving up to 14 CPU cores for the application.
  • When certain features are enabled on the Recording Servers, the capacity numbers change:
    • Encryption: when storage file encryption is enabled, capacity numbers must be decreased by 10%
    • Voice quality check: when voice quality check is enabled, capacity numbers must be decreased by 15%
  • Numbers in red denotes default values, should be used for server sizing
  • Numbers only applicable when Receive-side scaling (RSS) is enabled in the OS
 Storage Codec / Network Codec
 Recorded Platform SilkG.711G.722
Skype for Business
GSM-FR (Wave)140250160
PCM (Wave)154275176
MS-ADPCM (Wave)140250160
Speex (Ogg)92165106
  G.729G.711G.722
Cisco Network-Based Recording
GSM-FR (Wave)120175113
PCM (Wave)132193124
MS-ADPCM (Wave)120175113
Speex (Ogg)7911675
  G.729G.711 / PCMG.722
IPTrade, IPC, Speakerbus, BT ITS 1 2
GSM-FR (Wave)207300195
PCM (Wave)228330215
Speex (Ogg)137198129
  G.729G.711G.722
Cisco Proxy and Dial-in recording,
ACME Packet / Oracle,
Cisco CUBE, Sonus, MetaSwitch SBCs,
and other SIP/SIPREC recording
GSM-FR (Wave)120175113
PCM (Wave)132193124
MS-ADPCM (Wave)120175113
Speex (Ogg)7911675
  G.729G.711G.722
Network port mirroring based
SIP/SCCP recording
GSM-FR (Wave)170250160
PCM (Wave)187275176
MS-ADPCM (Wave)170250160
Speex (Ogg)112165106
  G.729G.711G.722
Avaya 1
GSM-FR (Wave)207300195
PCM (Wave)228330215
Speex (Ogg)137198129


1
 Simplex stream recording, e.g recording channel mixing on turrets

2 BT ITS supports PCM streams only

Sample calculations

ScenarioCPU sizing
Skype for Business recording for 1000 users
  • Skype for Business uses Silk for most call scenarios
  • GSM-FR is the recommended storage codec
  • To plan for the worst case, we assume 1000 simultaneous calls (duplex streams)
  • Encryption and voice quality checks are not required
  • CPU requirement: 1000 / 140 = 8
Trader voice recording for 500 users
  • Trader voice platforms use G.711 simplex streams for most call scenarios
  • GSM-FR is the recommended storage codec (recorders support VAD to filter out long silence)
  • To plan for the worst case, we assume 4 simplex recording streams per turret (depends on the recording channel mixing configuration)
  • Encryption and voice quality checks are both required
  • CPU requirement: 500 x 4 / (300 x 0.9* x 0.85**) = 9

 * The performance multiplier of the Encryption process
** The performance multiplier of the Voice Quality Check process

Voice recording on co-located Proxy and Media Recorder server CPU sizing

A standalone proxy server can handle 200 concurrent sessions per CPU core in the case of Skype for Business, and 150 in the case of Cisco. The following table shows the sizing in the case of co-located proxy and recording services.

 Storage Codec / Network Codec
 Recorded Platform SilkG.711G.722
Skype for BusinessGSM-FR (Wave)8211189
PCM (Wave)8711694
MS-ADPCM (Wave)8211189
Speex (Ogg)639069
  G.729G.711G.722
Cisco Proxy-Based RecordingGSM-FR (Wave)568154
PCM (Wave)607457
MS-ADPCM (Wave)567054
Speex (Ogg)435541

Video recording sizing

Video recording CPU sizing

When recording video, besides the number of recorded endpoints, the video bandwidth also has to be taken into account.

With a single CPU core, 125 Mbps total video stream can be recorded. So with the minimum server requirements (4 cores, 2 cores considered as reserved for the OS), the system can record up to 250 Mbps video streams total.

The bandwidth usage of the video endpoints can vary based on the device types and their configuration. The following table shows the bandwidths with different video resolutions:

Video resolution

and framerate

Bandwidth
Skype for BusinessCisco
360p @ 30 fps300 - 800 Kbps300 - 600 Kbps
480p @ 30 fps400 - 1500 Kbps600 - 800 Kbps
720p @ 30 fps700 - 2500 Kbps1300 - 2000 Kbps
1080p @ 30 fps1500 - 4000 Kbps2000 - 4000 Kbps

For more information, refer to the following articles:
https://docs.microsoft.com/en-us/skypeforbusiness/plan-your-deployment/network-requirements/network-requirements
https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cucm/srnd/collab12/collab12/cac.html

It is important to note, that the numbers above have to be multiplied by two because there is always an incoming and an outgoing stream.

Calculating with 2*2,5 Mbps 720p streams per endpoint, with a single CPU core, 25 concurrent video session can be recorded. Therefore, a 4-core Recording Server (2 cores considered as reserved for OS) can record 50 concurrent video sessions.

Numbers only applicable when Receive-side scaling (RSS) is enabled in the OS

Video recording and storage devices

In the case of a high number of recorded video endpoints, the type of the storage device also has to be considered. An HDD usually has a write speed of 50-120 MB/s, while an average SSD has 200-520 MB/s, or even more in the case of high-end devices. The disk utilization for the recording shouldn't be more than 60% and the disk must provide sustained I/O performance at this rate. Numbers only applicable when Receive-side scaling (RSS) is enabled in the OS.

The following table shows some examples for maximum total video bandwidth per Recording Server:

Storage type and
maximum write speed

Maximum video bandwidth at 60% disk utilization
and required recorder cores

Maximum number of recorded video endpoints
(calculating with 2*2,5 Mbps streams per endpoint)

HDD - 50 MB/s240 Mbps / 2 cores48 endpoints
HDD - 80 MB/s384 Mbps / 4 cores76 endpoints
HDD - 120 MB/s576 Mbps / 5 cores115 endpoints
SSD - 200 MB/s960 Mbps / 8 cores192 endpoints
SSD - 350 MB/s1680 Mbps / 14 cores336 endpoints

 

Â