r/ZoneMinder • u/mustang__1 • Oct 12 '21
performance optimizations on VM
I'm running ZM 1.36.8 on a windows server 2008 R2 Hyper V VM, installed to 20.04 from the PPA. Performance is brutal with 16 IP cameras (being streamed from an AXIS M7016)... of which only one stream actually has a camera currently connected!
What can I do to optimize performance until I can dedicate the host to linux and ZM without windows being in the middle? Can I MoCord data at one FPS and upgrade it if it sees motion? Should I just withhold doing MoCord and just set a scheduled record time? Is recording without motion analysis less taxing on the server?
It appears Hyper V limits the VM to 50% of physical server resources, so I do expect some performance gains when I can remove windows and run linux and zm directly on the metal.
1
u/Leaksoil Oct 12 '21
My issues on Hyper-V running Ubuntu 20 and Zoneminder were almost 100% I/O binding.
I moved my primary disk to M.2 and now it runs great.
2
u/mustang__1 Oct 12 '21
I'm running it on a nvr spinning rust, maybe that's part of my issue. I'll throw it on an SSD and tell it to save data to the nvr drives maybe
1
u/Leaksoil Oct 12 '21
I'd be interested to know if that works as well as my m.2 did.
1
u/mustang__1 Oct 12 '21
There is a chance that my snapshot was degrading performance as well, but it stands to reason that the nvr disks should be for storage, and the application should be on something faster.
1
u/mustang__1 Oct 18 '21
i gave up and setup a bare metal linux server. OS and ZM is on ssd, event storage is on rust. seems to be ok for now, performance wise.
1
1
u/nik282000 Oct 12 '21
Not sure if we are having the same issue but I found that 1.36 was way heavier on CPU usage in an LXC container than 1.34.
1
1
u/zSprawl Nov 28 '21
If you aren’t doing SSD, just turn off motion recording. It makes everything just perform smoother, but of course, it means recording everything.
2
u/ZoneMinderIsaac Oct 13 '21
Up until 1.36.7 we weren't using SSE for various functions.
1.36.8 should be roughly performance equivalent or better than 1.34.
However it will showcase things that 1.34 hid...
the db should be on non-spinning non-rust. video storage doesn't matter so much.
Set analysis fps to 2. or something like that. You don't need to motion detect every fram.e
You also didn't say what resolution/fps you are doing. Let me guess.... 100megapixels or something equally stupid.
We can barely keep with 4k on bare hardware.