Hikvision NVR Load Tested

Published Dec 14, 2017 16:57 PM

IPVM members recently debated Hikvision NVR's performance under load in Hikvision 30+ Cameras On NVR - Apps And Client Really Slow Down And CPU Usage Jumps - Any Other Experiences Or Tests?

To see how Hikvision's NVRs and iVMS-4200 software handled heavy use, we tested a Hikvision DS-9632NI-I8 NVR, viewing 32 cameras using over 400 Mb/s bandwidth on multiple client PCs to see:

  • How does iVMS-4200 handle 32 cameras across multiple monitors?
  • How do settings such as resolution, frame rate, etc. impact this performance?
  • How much impact do CPU and memory have on iVMS performance?
  • How does the NVR stand up to heavy load? Are there issues with frame drop or lost recordings?

Summary

In our tests, even client machines meeting Hikvision's minimum iVMS-4200 specs had few issues viewing 32 cameras totaling over 320 Mb/s bandwidth. Occasional video issues occurred (freezing streams, long buffering, and latency) but these occurred regardless of CPU, GPU, and memory specs. 

Finally, we saw no load issues on the DS-9632 itself, with no issues using the local UI, no gaps in recording, dropped frames, or other issues which would indicate the NVR was overloaded, over the course of more than a week of testing.

Key Findings

Here are our key findings from this test:

  • Periodic client display issues: In our tests we experienced periodic iVMS-4200 issues, with streams freezing, high latency, and buffering issues, which did not seem related to throughput levels, number of cameras viewed, or resolution, instead seemingly random.
  • Occasional client crash: Additionally, iVMS-4200 occasionally crashed outright, sometimes when attempting to view full resolution streams on all cameras and sometimes when simply viewing multiple cameras idly.
  • Client CPU load varies widely: CPU load viewing 32 cameras varied from ~2-4% on high end machines to over 45-50% or higher on systems simply meeting Hikvision's minimum system requirements.
  • Client memory usage steady: By contrast, memory usage was relatively steady across all machines tested, using about 800-1,000 MB RAM when viewing 32 cameras.
  • No local NVR or web UI issues: Unlike iVMS-4200, we saw none of the above issues when viewing all cameras locally on the NVR.
  • No recording issues: We found no dropped frames, gaps in recording, stream breakup, or other issues in recorded video which may occur when NVRs reach their maximum throughput specs, despite the NVR receiving and sending near its max throughput specifications (320MBps/250MBps).

iVMS Client System Requirements

We tested iVMS-4200 on multiple client machines, with differing CPU, memory, and GPU specs to see how it performed on various hardware. All PCs were running the latest versions of Windows 10 Professional.

Note that the high end machine easily meets Hikvision's "High Performance" specs for iVMS, and the low end machine exceeds the minimum. Also note that Hikvision lists different system requirements for iVMS in different documents, with some listing only a Pentium IV as required CPU. The system requirements given on the data sheet are most up to date, but if there is any confusion, we recommend contacting Hikvision support.

Beware: Graphics Card Support

Hikvision does not specify which graphics cards are supported by iVMS, only mentioning Intel HD Graphics and Nvidia cards in their documentation. However, an IPVM member told us Hikvision told him Matrox cards are not supported, causing very high CPU load, client freezing, and other issues. Users should confirm their selected graphics card is supported with Hikvision support.

CPU Load Comparison

In our tests, CPU load varied widely, from a low of ~2% during the day, low motion on the high spec machine to 45%+ at night/high motion on the low end machine. 

CPU load spiked when throughput was increased at night, with the mid range machine more than doubling, while the low end machine tripled its CPU usage. By contrast, the high end machine rose from only ~2% to ~4%. 

Periodic Client Issues

During testing, we saw occasional video issues when viewing streams with iVMS-4200.

Buffering/Video "Catching Up"

Most commonly, video buffered for extended periods of time, then "caught up" quickly, displaying live video at more than double speed, shown below:

This issue occurred regardless of client settings, secondary streams being used, or current throughput.

Freezing Streams

Second, streams occasionally froze, typically for a few seconds, before unfreezing and displaying live video once again. This is seen in the example below, happening twice within a few seconds.

Long Latency

Finally, we occasionally experienced very long latency during testing, with some streams 15 or 30 seconds or as much as a minute behind real time. Like other issues, this did not correlate to throughput or motion in the scenes, nor to secondary/primary streams being used.

In the example below, the camera on the right is nearly a full minute behind the camera on the left, displaying the correct time.

Client Crashes

During testing, we also experienced crashes occasionally (shown below). These occurred when the client was idle, just showing multiple screens with no other operation (shown below), or when attempting to use full resolution stream for all cameras. These crashes were less frequent, but still present in updated versions of the client (2.6.2.7), but more common in older versions.

No Issues On Local UI

During testing, we also periodically checked video on the NVRs local interface for any issues viewing live or playback video, but saw none. For example, in live view, all 32 cameras load without issue or latency with bandwidth at ~320 Mb/s:

No Dropped Frames/Recording Gaps/Other Issues

During our tests, we saw no issues with dropped frames, streams breaking up, gaps in recording, or other errors which could indicate the NVR is overloaded. All 32 streams recorded without issue, with no gaps in the timeline, despite incoming bandwidth near the NVRs max (320 Mb/s) and 5-6 clients viewing live video and/or playback.

For example, the timeline below is solid, with no gaps, and no lost video or other issues on playback.

Test Setup

We tested load using a DS-9632NI-I8 32 channel NVR, fully loaded with 32 cameras. Cameras were set to 1080p, 30 FPS, with varying codec settings depending on throughput level:

  • Day/low motion: For low motion low bandwidth scenes, cameras were set to VBR, ~28-30Q, and bitrate allowed to fluctuate normally.
  • Night/high motion: In order to reach the NVR's max throughput specs (320 Mb/s), we set cameras to CBR to provide much higher bitrates. At night a DJ laser was also used to create high levels of motion.

PC CPU load was tested using Windows Task Manager/Performance Monitor, with no other video intensive applications running on the machine. All Windows updates and GPU drivers were updated prior to testing.

Versions Used

We tested using the following version of firmware/software: 

  • Hikvision DS-9632NI-I8: V3.4.93 build 170808
  • iVMS-4200 Windows: v2.6.2.7 build 20170826
  • iVMS-4200 Mac OSX: v1.02.05.02
Comments are shown for subscribers only. Login or Join