ZoneMinder Initial Performance Testing

Initial performance testing with ZoneMinder NVR running on Ubuntu Server.

I'm attempting to replicate the exact test that I performed with Blue Iris on Windows 10 Pro, documented [here].

Testing Methodology

The environment I'm testing in is a Intel i7-7700 4.2GHz processor, but only 2 of the 4 cores on this processor is assigned to the virtual machine.  The machine has an M.2 SSD and 8GB of memory assigned to it - but neither of those appear to be a bottleneck in my prior testing.

I have an SSH session open in order to execute commands and to monitor performance.

As with Blue Iris testing I'm going to add one camera at a time and incrementally add functionality.

  1. Just the streaming camera
  2. Add motion detection and alerting
  3. Record the video to disk.
CPU of the entire machine will be measured off of the VMWare console (exactly like Blue Iris).  To read the CPU of the application, I'm going to use ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head in the SSH console.  The result is a detailed view of each camera.  Note that the CPU usage represented is on one core of the two cores assigned to the machine - so I will be dividing it by two.  For the purposes of this testing to ensure we are consistent with Blue Iris testing I am switching the default resolution and frame rate from 320x240 @ blank fps to 2304x1296 @ 26fps.



So, without further ado, here are the results:

Camera Line-up (All cameras 3MP PTZ Amcrest)
CPU on VM
CPU for ZM services
Memory
1 Cam Monitor Only
9.2%
8.6%
.9GB
1 Cam Modect
18.1%
17.4%
1.6GB
1 Cam Record
23.5%
22.5%
1.6GB
2 Cam Monitor Only
18.3%
17.6%
1.4GB
2 Cam Modect
38.8%
38.1%
2.7GB
2 Cam, one Modect one Record
42.7%
42.2%
2.7GB
2 Cam, both Record
46.2%
44%
2.7GB
3 Cam Monitor Only
27%
26.7%
1.9GB
3 Cam Modect
58.2%
56.3%
3.4GB
3 Cam, 1 recording
61.6%
57.5%
3.4GB
3 Cam, 2 recording
64.8%
60.9%
3.4GB
3 Cam, 3 recording
68.4
62.6%
3.4GB
4 Cam, Monitor Only
38.5%
36.1%
2.4GB
4 Cam, Modect
78.4%
74.5%
5GB
4 Cam, 3 modect 1 recording
81.7%
76.1%
5GB
4 Cam, 2 modect 2 recording
84.5%
79.5%
5GB
4 Cam, 1 modect 3 recording
87.7%
83.2%
5GB
4 Cam, 4 recording
91.8%
86.9%
5GB

Note that the manner in which we are testing is slightly different than with Blue Iris, but they are similar.  When the ZoneMinder cameras are set to Modect or Record an additional process spawns (zma).  ZMA adds CPU usage and the "monitor" still runs at the same level.  That said, when going from Modect to Record very little CPU usage is added.


Also note that, unlike Blue Iris, ZoneMinder memory climbs as more cameras are added in Modect or Record mode.  the good news here is that memory is easy to add, more processors is not. 

Comments

Popular posts from this blog

Blue Iris Initial Performance Testing

NVR Testing Platform

Installation: Blue Iris versus ZoneMinder