VMS Server Sizing

By Sean Patton, Published May 25, 2018, 09:48am EDT

Specifying the right sized PC/server for VMS software is one of the most important yet difficult decisions in IP video surveillance. In the past manufacturers designed and certified that a specific appliance 'box' would support a specific number of cameras (e.g., 4, 8, 16, etc.). Of course, the simplicity came with limited flexibility for expansion.

With VMS software being widely deployed on 'regular' PCs/servers, integrators need to properly specify the right ones. If your machine is not powerful enough for your cameras, you can face all sorts of painful issues and difficult to troubleshoot problems.

The good news is, fundamental guidelines exist to help select the right hardware.

Inside, we explain many of the factors to consider, including:

  • New Technology Impact
  • Key hardware drivers (CPU, RAM)
  • Server Cost Differentials
  • Maximum Throughput
  • Throughput Calculations
  • Bits versus Bytes
  • Smart Codec Impact
  • H.265 Impact
  • GPU Processing
  • Multicast Support
  • Multiple NIC Support
  • Manufacturer Specifications

New ********** ******

***** ********** ************ ** the **** * ***** will **** ** ****** on *********** *** ****** of ******* **** * server *** *******. ******* that ****** ** *** higher ********** *** ******** the ****** ** ******* required. ***** ******, *.*** streaming *******, *** *** offloading *** ******** *** channels *** ******.

Key ******** *******

*** ****** *********** ** most ********* ** *** and ***, ******** ********* how **** ***** *** be ********* *** ******* and *********. ******-***** ****** detection ***** **** ******** processor **** ************* *** needs ** ** ***** into ******* **** ******** server ********.  ***** ************ vary ********* ** *** specific *** ****, *** the ********* ** * consensus ** **** ****** manufacturer **************:

  • ***** *******, ~*-** *******: Dual-core **********, **** ** Intel **** * *** e6850 ** **** **-*****, 4GB ***
  • ***-**** *******, ~**-** *******: Quad-core *********, **** ** Core **-*****, *** ***
  • ***** *******, ~**+ *******: 6-core ********** **** ** Xeon ** ****** ** Core **-*****, ** ** RAM

**** ********* *** *** configuration ******* *** ** restricted ** **** ****** in ***-***** ******* **** as **** ** **. For ********, **** * Duo *** ** ********** are ********* **** ***** in ******* ***, ***** Xeons *** ** ***** in ****-*** ************ *** servers.

Server *****

******* *** ********* *** available **** **** ****** and ********* ****** ** the ***-$*** *** *****, whereas ***/*** ********** ***. Small ******* *** ** run ** *****-******* *** lower **** *******, ***********, and **** ****-** ********, in *** ***** ** ~$500-1,000 ***. ***-***** ******* normally **** **** ****** workstations ** ***** **** servers, ~$*,***-*,***. ***** ******* may **** ******** ***** this *****, ********* ** configuration *** ******* ****. $6,000-10,000 ** **** ** common *** **** ****** counts, *** ** *** increase ** ***, *** speed, *** *** ******** of ****** ****** ** hard ***** ****, ********* power ********, *** ******** NICs ***** ******** ** this *****.

********** ********* ***** ** one ** *** ****** costs ******** ** ****** sizing. ********** ***** **** one ** *** **** generally **** ***** $*** USD ** *** **** of * ******. **** cost *********, *******, ** the ***** ****** ** processor ***** *** ******** cores *** *******, ** the **** **** * six **** *.** *** Xeon ********* ** ***** core *.** *** *** be $***-***.

Importance ** ******* **********

*** **** ** ********** what *** ********* ******* throughput ** *** ****** will **. ** *** calculate **** ***** **** based ** ******* ****** throughput, ** ***** ***** well ***** *** ******* for ***** ******* ** time, ********* ** ******* packets *** **** ** video. **** *********** **** oversize * ****** ** 10-20% ******* ** **** concern.

Total ******* ********** ************

**** ********** *******, ***** maximum ********** ******** ** the **** ******** ******. Throughput ** *** ***** amount ** ********* ****** into *** *** *** machine (*.*., ** **/*, 80Mb/s, ***.)

***** *** *** ******* which *** ****** ****:

  • *** ********** ** ********* cameras: *** ******** *** bitrate ** ******* ********* is ******** *** ******* component ** ***** **********. This *** ** ** simple ** *********** *** number ** ******* ** the ****** ****, *.*., twenty ***** ******* **** a ****** **** ** 4Mbps **** = ** Mbps *****. *******, **** using ******** *******, ***** must **** **** ******* each ******'****** ************* ***********, *** *******. If ******* ***** ***** 6-8 **/* ** *****, when ***** *********, **** may ****** ******** ** underspecified ******. *** *** to ****** **** ** using ******* **** ******* maximum *** ***** (*** *** ****** ** using ***).
  • *** ****** ** ********** clients: *** ****** ****** taken **** ******* ** throughput ************ ** ********** clients. **** ** *********** the ******** *********** ** perform, ***** ****** ******* which *** ***** ********, at *** ***** **** multiple ***** *** ******* to *** ****** *** view ******* ******* ** cameras. ** ****, ** budget ******, ********** ****** be ********** *** *** worst ****, **** *** largest ****** ** ******* connected ******* *** ******* simultaneously. ********** *** ** measured ** ******* ****, with *** ******** ***** via *** *** ******, if **'* *********, ** seen ** **** ******* from * *** ******:

client throughput

*** ******'* ***** ********** is *** *** ** these *** *******. ** a ****** **** (**) 1080p ******* **** * Mb/s *******, *** *** clients ******* *** ******* (80 **** *****) ****** be ********* ** ****** 120 ****. ***** ************ are ******** ** *** architecture. **** **** ******* the ****** ** ******** to *** ****** ******, without ******* *** ****** through *** ******, ****** nothing ** ********** ************. Others **** ********* ******* from ******* ** **** to ******* **** *** camera ** *** ****-******, i.e., ** * *****-****** view. ***** ****** ******* how ***** ******* ****** throughput **** ***** *** provider.

**** ****** *****

** ******* ***** ********* bits *** *****. **** cameras ****** ***** ********** using **** *** ****** but **** *** ******* specify ***** ****** **** using ***** *** ******. 8 **** = * byte, ** ** * manufacturer ********** ****/* **********, that ** ***** ** 320 **/* ** ****** streams.

Smart ***** ******

** **** *****,***** ********** ******* ******** *************, from ~**% ** * minimum ** ****** ****** to **% ** **** in *** ****** ******. While ***** ********** ****** average system ****, ******: ******* must ***** ** ***** to *********** ***********.

*** *******, ** *** average ******* ** ~** Kb/s *** ****** *** to ***** ******, *** bandwidth ****** ** ~*** Kb/s, this ****** ********** ****** be **** ** ********* server **** *** ****** **********. Failing ** ******* *** this ********* ********* *** result ** ******* ******** frames ***** ***** ****.

H.265 ******

** ******** ** ***** codecs, *.*** ******* ******* ******** to *.*** *** ******, with **-**% ********** ******. However, ***** ********** *** generally "**** ****", ******* of ******* ** ******/********** levels ** ** ***** codecs. ******* ** ****, the ******* ****** ******* when ***** ***** ****** are *** ******* **** using ******* (***-*****) *.***.

***** ****** **** **** that *.*** ******* **** increase CPU (***/** ***) **** when ***** ******-**** ****** detection. ******* *.*** ** more ********* ********* ** decode **** *.***, **** hardware ******** **** ****** and **** ******, ***** these ******* *** ****** detection *** ****** *** ****. Users ****** ** ***** of **** **** ****** systems *** ******** ***** H.264 *** ****** ********* where ********* (***-*********) ******* are **** *** ********.

GPU ********** *******

********** ******-***** ********* (*********** streams, ****** *********, ***** analytics, ***) ** *** resources ** ******* ** compared ** *** ******* for *** ********** ******* in ****** ********.

**** *** ******* ** this *********** ******** ********** ***** Motion *********** *** ******, ***** Intel ** ****** *** resources. *** ******* ****** a *********** ******** (**% - **%) ** *** load **** ********** ** the ******'* ******* ***** GPU.

** ********** *********** (**) or **** ******** ********* become **** ****** ** the ***** ******** ********, we ****** **** *** resource ************ **** ****** much **** ********.

Multicast ******* ******* ******

********* ******** ** * VMS ******** *** ****** the ************ ** *** total ********** ********* ** a ******.

* *** **** ******** multicasting, **** * ******** configured *******, **** ****** Client ******** ** ******* viewing ******* ******** **** the ******* ******* ******, instead ** **** *** server. *** ****** **** calculations **** **** **** to ******* *** *** incoming ******* **** *** camera, *** ******** ******* will **** ** *** the ***** **** *** recorded. **** *** *** potential ** **** *********** resources ** **** ******** client ************ *** **** have * ********** ****** on ******* ***** **** viewing ** *******.

Multiple *** *******

**** ************ **** ******* cameras ** ** ********* in *** ** **** isolated **** ******** **** viewing ****** ***. ** other ****-************ ************, * secondary *** *** ** required *** ********/****** *************. In **** ** ***** situations ******** * ******/*********** solution **** *** ******* expansion **** *** ******** support ******** ************* ****** the ****** ********* ****** and *** ********.

Manufacturer **************

**** ********** ** *****, the ****** **** ********* factor ** ************ ***************. Users ********** ******* ***** do *** **** *** minimum ************ *** ***** given ********** *** **** challenges **** ******* **** support ** ****** *****. If ** ********** ** willing ** ****** *** potential **** ** ***** an "************" (********* ** specifications) ****** *** *** configurations ***** ** ***** project ******* *** **********, they *** ** **** to **** **** **** from * ***** *******. For ***** ******* ** play ** ****, ******** strictly ** ************ *************** at * ******* ** recommended.

*** *** ***** *************** are ************ ****** ******* manufacturers. **** **** ***** some ** ***** *** specified ** ********** ****, others *** **** ******* to * ****** ** cameras *** ******. **** varies ** ************, *** users ****** ****** ***** these *******:

  • ********: ******** ***** *** configurations ** *********** ************ *******, **** *** ****** streaming *********** ******* ** to **** ****, *** ACC *********** ********** ** to *******.
  • *****: ***** ***** ****** (and ******) *************** ** the ***************** ***** *** ***** server ******** ********. ***** ****** *** listed ** 50-250 ****, *** ***-*** Mbps. *************** *** ***** for ******* *** ********* configurations.
  • *******: ****** ************ *** given *** *******, ***********, and ****-*********** ************** *********'* *************. ** ******** ***** are ***** *** **** Performance ***** ** **** supported ******* *** *** of ***** *********** ********** at ** ** *,******* read (**** ******* ************ output).
  • *********: ****** ************ *** listed *** *** *** High-End ******* *********** *************. ********** *********** ***** from ***-*** ******* ********** up ** ******* ***** / ******* ******, *** High-End ******* ********** ** to ******* ***** / 400Mbps ****** ******* ***********.
  • *********: ********* ******** ******** ***** ******* ******* hardware *************** **** ******* ******. No ********** *********** ** specifications *** ********* *** listed.

******* ***** *************** **** work *** * ***** configuration, **** **** ******** for ********* ****** ** variances, ************ ******** *********** may ** *************. *******, there ** ****** ****** to ****-****** ******** *************** to **** *** ***** project, ** ******* ** general *************** *** ******* throughput ******. ***** ****** also ******* ******* ***** recommendations *** **-**-****, ** call **** ******* *** pre-sales **********, ** **** any ******* ***********, ***** specs *** ****** ******** at *** ****, ******* notice.

 

 

Comments (16)

Sean,

Nice article on server sizing.  With 1080p cameras we had to offload the video motion detection (VMD) off the server and let the cameras do that analysis and send VMD events to the Milestone server.  That has a dramatic reduction in the amount of CPU processing power (and thus cost) you will need for the server.

Without doing server-side VMD, the server sizing is most influenced by the I/O subsystem.  The type of hard drives, RAID technology, and RAID controller selection are important.

The latest advice I received from Milestone on server I/O subsystems required 15,000 RPM SAS hard drives.  Those are now available in 900 GB capacity.  We also use LSI RAID cards with battery backed up cache.  Milestone recommends placing the drives in a RAID 10 set.  Note that our LSI RAID controller does not allow more than 16 drives in a RAID set (we have a 24 bay server).  There may be other reasons (rebuild time) not to use larger RAID sets anyway.  With all that said, I have seen the Milestone Husky systems use SATA drives and I think in a RAID 5 configuration so I am a bit perplexed :-).

I would really like to hear anyone's experience using native 4K sector hard drives over the old 512 byte sector drives.  Is there a performance advantage and do any of the video management system software available take advantage of native 4K sector drives for improved read/write performance?

Agree: 1
Disagree
Informative: 2
Unhelpful
Funny

RAID 5 is fine for small drive quantity, but beyond I believe 6 drives, it becomes too risky, I would then at least use RAID 6.  RAID 10 is great (performance-wise) but more complex for most to maintain.  I would recommend better hardware with RAID 6 (SSD offloading, faster drives) than to use RAID 10.  Why is that?  With RAID 10, you can lose half your drives and your still okay, but is that all, NO.  You can lose two of the wrong pair of drives and good bye to all your data.  RAID 6 builds on RAID 5 but has two parities instead of one.  The number of drives before failure is no longer tolerable is much higher (it's not linear) and I think it's in the late 20's or early 30's of drives.

4K drives should be less about performance and more about integrity.  Performance could be there but it will be minor, SSD would offer much larger gains.

Agree
Disagree: 1
Informative: 2
Unhelpful: 1
Funny

RAID Penalties?

Agree: 1
Disagree
Informative
Unhelpful
Funny

I noticed the very well written article referred to camera court. When sizing servers is their a difference in using camera count verse imager count?  I.e you have a single imager 1080p fixed camera and a multi imager 1080p camera.  

Also as specs very by manufacture, how do you recommend I write a SOW that lists min specs without over or under specifying the server and/or workstation size?

Agree
Disagree
Informative: 1
Unhelpful
Funny

Yes indeed the multi imager cameras present a different load to a server.  The concept I use to explain this is as follows...

A single imager camera (NOT panoramic, 360 etc..just a plain vanilla cam) will present the data to a system much like a series of 'tractor-trailer-trucks' delivering their goods to the destination.  At the destination, the payload is unloaded and off he goes.

The multi-imager adds this twist.... the truck is now built with multiple trailers linked together like a train, so when it arrives, the trailers have to be separated before they can be unloaded.  This adds load to the entire system... CPU, Memory, Storage so when I see these types of cams, I suggest at least doubling any estimated resources for each one.   HD encoders also fall into this category (like Axis F44 type).

A spec request simply based on camera count is only useful for an analog based system.

An IP system needs to know resolution, FPS, scene complexity, scene motion amount and stream quality (compression) to be able to have a chance at a decent recommendation based on estimates.   The IPVM team always recommends doing on-site reference measurements with actual cameras for the most accurate results. 

Keep in mind that the primary reason for RAID is data protection, followed by the potential performance increase (assuming the use of hardware RAID).   RAID6 is the best protection whereas RAID 10 typically provide the best speed.   RAID5 is more popular because it combines a little bit of everything (protection, capacity, Read Speed) as long as you don't make your arrays too large (due to rebuild times with the larger HDD being so long, you want to minimize the potential of a 2nd drive going bad while the array is rebuilding).

Agree: 3
Disagree
Informative: 5
Unhelpful: 1
Funny

As Mike stated (with a lot of specific details), you need to be concerned with the number of imagers, but mainly just the throughput and recording rates (which is obviously a product of the imagers). How you get to an accurate totalynumber will vary, and as Mike pointed out, depending on the camera make/model and the VMS chosen, there will be additional resource requirements.

Your last question brings up one of the more difficult tasks in creating a vendor-agnostic specification. In most ways, as an integrator, I saw minimum specifications as merely a glancing check to see if there is a sign to what vendor a customer might be leaning towards. The server that you receive should minimally be able to support the throughput and retention of the system the integrator is providing, plus whatever percentage of growth you may want to plan for. I've had customers and specifications that include a 30 day post-installation check to confirm that the server was retaining the required video, with whatever percentage open space on the drives. If an integrator is coming in with all H265 or smart codec cameras, and is figuring a low amount of motion, versus another integrator with standard H264 and figuring a higher amount of motion, with a different VMS that is going to perform server side analytics/motion detection, than let the integrators make that choice. 

The main other option is to decide specifically what VMS manufacturer, camera manufacturer, % of motion, etc so you have a complete system design to put out for bid.

Agree: 2
Disagree: 1
Informative: 3
Unhelpful: 1
Funny

Thank you Mike and Sean..

I understand the points you are making, having to specify vendor-agnostic specifications for the goverment is very hard when we can not specify a vms manufacture or camera manufacture. Also I have never offered or had a potential bidder ask to come on site while preparing there proposal to test cameras. 

One thing we are allowed to do is present a minimum spec and site a specific vendor and model with the phase or similar. Even with that hint, usually only 1 and 10 vendors I would say, propose what I am hinting at for some reason.  I feel your frustration with bad specs and hope you feel mine with trying to generate that vendor-agnostic SOW that fits within the FAR, with enough detail to get what I need.

i think it would be a great project for IPVM to write a perfect vendor-agnostic IP vms/cctv sow once a year and let both sides (specifies and integrators) provide constructive feedback. Hey that could even be a new class for IPVM to offer.

Agree: 1
Disagree
Informative
Unhelpful
Funny

IPVM has quite a few articles about the RFP process....good and bad.   Look for their tag under the 'Articles'.   As of this post, there are 59 of them.

Agree
Disagree: 1
Informative: 1
Unhelpful: 1
Funny

You make my point exactly, RFPs are very important on both sides of the fence.  You as a manufacture and me as an end user should speak the common language, however it is one of the most contentious issues.. 

Agree: 1
Disagree
Informative
Unhelpful
Funny: 1

Hmm...as informative as this is... it still doesn't completely answer questions I posed in this topic.

Agree: 1
Disagree: 1
Informative
Unhelpful: 1
Funny: 1

Eocortex provides a calculator (based on resolution, FPS, analytics in use) that lists an example CPU and/or GPU. We match those up to https://www.cpubenchmark.net/ to match them to other CPU (Xeon) models since they only provide desktop CPU's.

I gives a good indication but can be a tad on the light side server spec wise.

Agree
Disagree
Informative
Unhelpful
Funny

I understand there are a lot of variables but it was stated

 

VMS server performance is most dependent on CPU and RAM

 

and

 

When specifying servers, total maximum throughput handling is the most critical metric. Throughput is the total amount of bandwidth coming into and out the machine (e.g., 40 Mb/s, 80Mb/s, etc.)

 

How is the CPU rated for bandwidth?

 

I read this article https://en.wikipedia.org/wiki/Memory_bandwidth

 

The looked up the specs on this processor https://ark.intel.com/products/126688/Intel-Core-i3-8100-Processor-6M-Cache-3-60-GHz-

 

With a bandwidth capacity of 37.5GB/s that means 37,000Mbps right?

 

Well according to DW I can run around 4000 4MP cameras at 30 FPS and still not max this processor out.

 

 

I am a noob at this but I know enough to know this does not add up.

 

What am I missing?

 

FYI I do not have any specs or system in mind, just trying to understand how to get close to specing the right server for future projects.

Agree
Disagree: 1
Informative: 1
Unhelpful
Funny

If there was a way to stream your video raw direct to hardware CPU memory, then yes, you could support 4000 cameras on that processor. =)

Unfortunately, in most cases, you are stuck working in a Windows or Linux operating system which is going to process the streams and create "bottlenecks".

This is why websites like CPU Benchmark exist for the PC gaming market. Unfortunately (or fortunately) we're not all trying to play Skyrim at 120fps, so benchmarking would have limited usefulness for video surveillance. Your best bet is to follow the VMS manufacturer's recommendations and work with their sales/support to select server specifications.

Agree: 2
Disagree: 1
Informative
Unhelpful: 1
Funny

Still valid. Loving this.

Agree
Disagree: 1
Informative
Unhelpful: 1
Funny

Not sure if you are referring to UI4 and the  screen shot UI4 provided but it is incomplete and the statement "Well according to DW I can run around 4000 4MP cameras at 30 FPS and still not max this processor out." is completely invalid, the number of servers required is found on the next page of the Storage Calculator 

Agree
Disagree: 1
Informative
Unhelpful
Funny

No, this is a good analysis of what is needed to begin. And all NVR calculators are garbage. You have to use them very carefully. If you do not understand the environment you are making a projection for, nor how well the users will use the various features to avoid extra bitrates, it is going to be difficult.

Agree
Disagree
Informative
Unhelpful: 1
Funny
Read this IPVM report for free.

This article is part of IPVM's 6,953 reports, 927 tests and is only available to members. To get a one-time preview of our work, enter your work email to access the full article.

Already a member? Login here | Join now
Loading Related Reports