General help for a noob
Posted: Wed Feb 24, 2010 6:22 am
After working with ZM for a few weeks (I admit I’m not a Linux guru) I have decided to ask some questions at the risk of being redundant. It seems that most people would have very similar questions, but I do not see a general FAQ that might help many of us who are unfamiliar with specifics of general items, not necessarily ZM. I will post my questions here in hopes of not getting flamed too much with RTFM responses. I have searched the forums, looked through the wiki and just can’t seem to find what I’m looking for. I will preface my questions with the configuration I’m looking for because I’m sure it has an impact on what I’m trying to do. Most people probably use ZM with just a few cameras and don’t encounter the issues I’m having, so I hope this helps. I would like to have a few servers set up with approximately 15-20 cameras per server. I have several Rackable Systems 1U servers that are dual 3.2GHz XEONs, 4GB RAM and a 1.5TB drive. The hard drive is SATA but the servers had PATA interfaces so I used a small adapter from Startech to interface the drive to the system. It seems to work well. The cameras are mostly going to be running 320 x 240 and about half of those or more can be B/W. A few will be 640 x 480 color (watching cash drawers). I’m planning to have a few cameras on each server recording 24/7 while others will be motion detection.
1. I am currently trying the ZMLarch distribution. It installs fine and after a couple tweaks that appear to be errors in the build, seems to work ok. I looked at the ZMLive DVD but it looks like it installs a lot more than is needed and I was fearful of performance issues, ZMLarch seems simpler and more lightweight. Am I right? Is there any stability or performance issues with one over the other? Remember, I’d like to run about 15-20 cameras on each server.
2. Not having tried the ZMLive DVD with several cameras, I cannot comment on how it works, but with ZMLarch I seem to have a lot of issues once I put more than a few cameras on, say more than 5-7. From what I can tell, the disk I/O seems to be high and what appears to be browser hangs might just be long wait times. Sometimes it times out and a refresh loads it back up. I’ll provide more details in my further questions about some settings that may affect this.
3. What are the differences between RTP, RTSP, and HTTP and how does that affect performance within ZM? What about MPEG-4, MJPEG and JPEG? I read some things that seem to indicate that MPEG-4, while other software vendors say it’s best, isn’t the best performance on ZM because it has to be converted to JPEGs, is that true? If so, why even have the presets for MPEG and MJPEG? I’m confused on this and about which one to use. My cameras are Axis 210, 209, 216, and P3343s. All of them support all methods but there doesn’t seem to be a good explanation out there that I can find that explains which is the best to use.
4. I was first experimenting with 15fps with motion detection on about 20 cameras. CPU was running about 45%, which should be ok, but the system was almost non-responsive, possibly because of disk i/o? I had set the pre/post event buffer to 45/90 respectively to get 3 seconds before the event and 6 seconds after the event (ring buffer at 90). After reflecting on this, it seems that might be one source of my disk i/o issue. With Motion Detection on, 20 cameras at 15fps meant 300 images per second written to disk and subsequently deleted at some point if they were not needed. Is that correct? For less important cameras I guess I should look at dropping them to 4-5fps and distribute the more important cameras with higher resolution and fps across the different servers to even the workload. Comments?
5. I was reading about the load value and it is said to be divisible by processors, so in this case where I have dual XEON, if the load is 6, it’s really 3 per cpu. The footnote says, “if SMP is enabled for your kernel build). Can anyone tell me if it’s enabled in the ZMLarch build? I can’t find any way that would indicate if it is or not using TOP or Conky, or maybe I just don’t know how.
6. Can someone point me to a good resource that explains the general guidelines for setting up motion detection zones and what each of the presets means? This is one area that aside from playing around with to see what seems to work, I haven’t been able to find much on.
7. The servers I have only have a bay for a single hard drive and adding in a card for external storage is probably not a possibility. It has a slot but I’d have to find a riser card and controller card that would fit, etc. I’m hoping no one responds with “no way a PATA interfaced SATA drive can handle more than a couple cameras.â€
1. I am currently trying the ZMLarch distribution. It installs fine and after a couple tweaks that appear to be errors in the build, seems to work ok. I looked at the ZMLive DVD but it looks like it installs a lot more than is needed and I was fearful of performance issues, ZMLarch seems simpler and more lightweight. Am I right? Is there any stability or performance issues with one over the other? Remember, I’d like to run about 15-20 cameras on each server.
2. Not having tried the ZMLive DVD with several cameras, I cannot comment on how it works, but with ZMLarch I seem to have a lot of issues once I put more than a few cameras on, say more than 5-7. From what I can tell, the disk I/O seems to be high and what appears to be browser hangs might just be long wait times. Sometimes it times out and a refresh loads it back up. I’ll provide more details in my further questions about some settings that may affect this.
3. What are the differences between RTP, RTSP, and HTTP and how does that affect performance within ZM? What about MPEG-4, MJPEG and JPEG? I read some things that seem to indicate that MPEG-4, while other software vendors say it’s best, isn’t the best performance on ZM because it has to be converted to JPEGs, is that true? If so, why even have the presets for MPEG and MJPEG? I’m confused on this and about which one to use. My cameras are Axis 210, 209, 216, and P3343s. All of them support all methods but there doesn’t seem to be a good explanation out there that I can find that explains which is the best to use.
4. I was first experimenting with 15fps with motion detection on about 20 cameras. CPU was running about 45%, which should be ok, but the system was almost non-responsive, possibly because of disk i/o? I had set the pre/post event buffer to 45/90 respectively to get 3 seconds before the event and 6 seconds after the event (ring buffer at 90). After reflecting on this, it seems that might be one source of my disk i/o issue. With Motion Detection on, 20 cameras at 15fps meant 300 images per second written to disk and subsequently deleted at some point if they were not needed. Is that correct? For less important cameras I guess I should look at dropping them to 4-5fps and distribute the more important cameras with higher resolution and fps across the different servers to even the workload. Comments?
5. I was reading about the load value and it is said to be divisible by processors, so in this case where I have dual XEON, if the load is 6, it’s really 3 per cpu. The footnote says, “if SMP is enabled for your kernel build). Can anyone tell me if it’s enabled in the ZMLarch build? I can’t find any way that would indicate if it is or not using TOP or Conky, or maybe I just don’t know how.
6. Can someone point me to a good resource that explains the general guidelines for setting up motion detection zones and what each of the presets means? This is one area that aside from playing around with to see what seems to work, I haven’t been able to find much on.
7. The servers I have only have a bay for a single hard drive and adding in a card for external storage is probably not a possibility. It has a slot but I’d have to find a riser card and controller card that would fit, etc. I’m hoping no one responds with “no way a PATA interfaced SATA drive can handle more than a couple cameras.â€