Performance Issues - What am I doing wrong?
Posted: Sat Jul 06, 2024 6:29 am
Hello,
I am trying out zoneminder 1.36.33 and am enjoying it so far. I've seen numerous threads on optimizing performance and how it can really scale to handle a lot of cameras. I've seen the Dummies guide in the wiki. And I believe I've configured my new ZM instance to follow the recommended best practices - more details on my setup below.
I'm running zoneminder in a virtualized Ubuntu Server 22.04 on an older chassis with 10 vCPUs and 32GB of RAM (these are zoneminder's resources, not the server chassis itself). The underlying hardware is dual Xeon E5-2670 chips and 128GB DDR3. There are a couple of other very low volume/load VMs running on the same server and I don't see any resource constraints from the hypervisor perspective. I am monitoring the hardware utilization of the ZoneMinder VM itself with node exporter (and some sanity checks with htop), and the CPU is consistently at 80%+, and memory is at about 23GB used.
I have 10 cameras currently added. All are using RTSP for transport. Eight of them are 4MP cams sending 2688x1520. Two of them are 3MP sending 2048x1536. All 10 are in Nodect mode, and I've unchecked "Decoding Enabled" in each one of these main streams.
For motion detection, I have VGA (640x480) substreams setup for the eight 4MP cams (haven't figured out the substream URL for the 3MP cams, yet).
All eight substreams are in Modect mode and Analysis FPS is set to 5 FPS. The substreams are configured (at the IP cam itself) to 15 FPS. Each substream has one zone that I've set to the appropriate area (typically between 50-80% of the entire viewpoint)
So, is this a normal/expected load for these cameras? I really feel that I setup something wrong, because I'm also using these same exact cameras with QNAP's Surveillance Station, with motion detection, on a NAS with much less capable hardware (Intel i3-7100 and 16GB RAM), yet it's handling these cameras without breaking a sweat (<30% CPU usage and < 8GB RAM usage on the entire box, and I have a couple other VMs and containers running on this one, as well, on top of all the NAS-related stuff it's already doing!)
My only goals are to maintain real time live-view functionality, and have a timeline with motion events that can be reviewed. I'd like to be able to throw some Raspberry Pi based IP cams on and setup email notifications, but I've not yet looked into either of these.
Thanks for a fantastic FOSS project and any tips you can provide!
I am trying out zoneminder 1.36.33 and am enjoying it so far. I've seen numerous threads on optimizing performance and how it can really scale to handle a lot of cameras. I've seen the Dummies guide in the wiki. And I believe I've configured my new ZM instance to follow the recommended best practices - more details on my setup below.
I'm running zoneminder in a virtualized Ubuntu Server 22.04 on an older chassis with 10 vCPUs and 32GB of RAM (these are zoneminder's resources, not the server chassis itself). The underlying hardware is dual Xeon E5-2670 chips and 128GB DDR3. There are a couple of other very low volume/load VMs running on the same server and I don't see any resource constraints from the hypervisor perspective. I am monitoring the hardware utilization of the ZoneMinder VM itself with node exporter (and some sanity checks with htop), and the CPU is consistently at 80%+, and memory is at about 23GB used.
I have 10 cameras currently added. All are using RTSP for transport. Eight of them are 4MP cams sending 2688x1520. Two of them are 3MP sending 2048x1536. All 10 are in Nodect mode, and I've unchecked "Decoding Enabled" in each one of these main streams.
For motion detection, I have VGA (640x480) substreams setup for the eight 4MP cams (haven't figured out the substream URL for the 3MP cams, yet).
All eight substreams are in Modect mode and Analysis FPS is set to 5 FPS. The substreams are configured (at the IP cam itself) to 15 FPS. Each substream has one zone that I've set to the appropriate area (typically between 50-80% of the entire viewpoint)
So, is this a normal/expected load for these cameras? I really feel that I setup something wrong, because I'm also using these same exact cameras with QNAP's Surveillance Station, with motion detection, on a NAS with much less capable hardware (Intel i3-7100 and 16GB RAM), yet it's handling these cameras without breaking a sweat (<30% CPU usage and < 8GB RAM usage on the entire box, and I have a couple other VMs and containers running on this one, as well, on top of all the NAS-related stuff it's already doing!)
My only goals are to maintain real time live-view functionality, and have a timeline with motion events that can be reviewed. I'd like to be able to throw some Raspberry Pi based IP cams on and setup email notifications, but I've not yet looked into either of these.
Thanks for a fantastic FOSS project and any tips you can provide!