There are often VMS specific limitations. What VMS are you planning to use?
Either Axxonsoft or Milestone.
Pro Focus LLC | 05/10/16 11:37am
We would need a lot more info than given to get you an acurate assessment.
First off, what NICs are you using and how many?
What RAID level and controller?
How much RAM?
Are you running server based analytics (Server based motion)?
How many clients will be viewing/playback simultaneously?
This is a very complex question to answer accurately.
In most servers the hard drives are going to be the bottleneck, and you can determine a theoretical best-case by looking at drive specs and write performance impact of whatever RAID level you're using.
Because you're talking about a specific use for the server, as a VMS/NVR, I would suggest you talk to the software company (or companies) you plan to use. VMS's store and manage data in different ways, which means the same server might be able to ingest 300Mbps of video with one VMS and only 250Mbps with another.
How the server is intended to be used will also affect this, and it too varies based on the VMS. If users are going to be constantly looking through recorded video, and the VMS transcodes the raw video before sending it to the client you will likely get a lower performance number than if the machine is used mostly just for recording video, and stored video is only rarely accessed.
Not sure about Axxonsoft or Milestone but Avigilon has a storage throughput tool to test the storage read/write speeds. It is a very basic CLI tool but we use it to test SAN storage and custom servers to see how much we can throw at them. I would think other manufacturers would have something similar?
The spec from the Avigilon HD Premium NVR seems that it is an OEM version of Dell R720xd with iDRAC8 (integrated dell remote access controller) express remote management. Avigilon advertises a recording rate of 1350 Mbps (10Gbe network) with RAID 6 (Raw 96TB / 84 Usable) with 16 x NL-SAS HDD.
They only mention the max supported recording rate. I am not sure if this number is sacrosanct as the performance could change dramatically based on number of clients asking for playback and live viewing.
Jon I would take that bet. Having installed the new servers I would not be surprised if we could exceed the recommended specs.
According to my experience, using an MSI (Z77) desktop mobo with i7, 8Gb RAM, Win7Pro with integrated Intel RAID controller (4x4TB WD RED HDD in RAID5) can continuously handle ~300Mbit/s incoming video data (Avigilon) while serving one client with 4 monitors. So your comments about professional servers with pro raid controllers ability of handling 30Mbit/s only sound fairly shocking to me?! Our 'servers' have been running for 2-3 years by now without any issue and/or data loss on a dedicated LAN.
Milestone Systems | 01/20/17 06:50pm
Full disclosure - I'm a backline support manager at Milestone
I won't comment specifically on the possible throughput with this hardware as it's not my specialty. I'm sure our presales support team would be able to help here. Normally we will take the project specifications and provide server specifications based on requirements. Those can usually be adjusted based on goals like "I want 150 cameras per server" as well. But we are often asked to "reverse engineer" the specification based on the available hardware such as in this case.
With regard to total possible throughput/bitrate on the Milestone platform, you are mostly limited to the throughput of the storage, and it also matters how frequently you're accessing recent recordings. On a system where playback is infrequent, and usually on archived footage, the disk access is almost entirely sequential. But in environments where operators are frequently doing quick replays of video and lots of timeline scrubbing, you'll have a higher rate of random disk access which obviously will reduce the amount of time available for writes.
Most of the focus of this discussion is based on the storage because that is almost always the first bottleneck encountered on Milestone products. CPU and RAM are important too, but at 128GB of RAM you should not hit any memory limits and with a reasonable CPU passmark score, you are not likely to max out the CPU unless you...
- Use transcoding - modify image quality in Smart Client which forces the server to convert the video down to MJPEG at desired quality
- Use motion detection on more than keyframes - blindly doing server-based motion detection on all frames on all cameras is not recommended. If it is needed for some cameras/scenes, enable it where required
- Use motion detection with more than 200-300 cameras - If your storage can handle the throughput of more than 200-300 cameras, you may need to consider disabling server-based motion detection and either use edge-based motion detection or record always. This will nearly eliminate CPU usage resulting in fairly minimal usage even with several hundred cameras
If I had to guess, I would say most customers do not exceed 150-200 cameras per server. There are certainly customers who push well beyond that, and our Husky M550A specifications quote a possible recording rate of 1400Mb/s. There are some caveats there I am sure.
There have been some great recommendations here with regard to the controller - it's important not to skimp on the RAID controller. RAID 5/6 requires a lot of compute to generate checksums on incoming data which can limit the throughput. And you generally want to have a battery-backed write cache with write-back enabled for best performance.
Ultimately, it would be best to engage with Axxonsoft and Milestone presales with regard to the performance expectations of your specific hardware and expected usage. If you do, it would be great to see what the results were!