How to improve performance

We have about 100 cameras, and we have a custom web-app (which displays up to 16 camera views).

As we open more and more web-apps, the performance decreases, and video becomes choppy/sluggish.

We have a total of about 100 cameras.

We are using Milestone XProtect Professional 2019 R1 (because is has the Central API, and our web-app requires the Central API).

Are there any recommendations (e.g. regarding protocols such as RTP/UDP or RTP/TRSP/TCP, resolutions, frame rates, etc. ) that would improve performance?

Thanks!

Are you using ImageViewerControl? If not, what are you using?

NOTE: Recording servers will need to use decoding and re-encoding (transcoding) of the images this puts extra load on the recording server, it can potentially cause 100% CPU in the recording server. Do you observe 100% CPU usage? Do you see network congestion? Any other idea off a single resource that might be overloaded?

NOTE: This issue has been submitted this as MSC563473, because there were some other ERROR messages (some Microsoft .NET Framework messages, and MIPPluginLoad DLL errors).

RE: https://doc.developer.milestonesys.com/html/miphelp/class_video_o_s_1_1_platform_1_1_client_1_1_image_viewer_control.html

I’m not sure about ImageViewerControl.

I don’t think so, since those are for C# .

We have a custom program that uses Embarcadero C++ and a web-app.

Yes, we see 100% CPU with 3 or more custom web-apps running.

We do not see network congestion.

Reducing the frames-per-second (10 fps) and reducing the resolution helped.

However, the videos are still choppy/sluggish, even when the Recording Server is stopped, and when the Milestone Server’s CPU usage is only 10%, and no customer web-app is running.

THE FOLLOWING IS WITHOUT any SSS web-Apps RUNNING:

[] Changing all cameras to use TCP protocol did not make any noticeable difference, and the Milestone Server is still running at 100% with 3 or more SSS web-apps running.

[] The Milestone Server’s CPU is running high (with about 71 cameras; without any SSS apps running).

[] The Milestone Server’s CPU usage is at 48% with all cameras (without any SSS apps running).

[] Camera videos are choppy/sluggish on the Milestone Server (not only in SSS web-apps).

[] With no SSS web-apps running, the videos seem to pause every ½ second for a ½ second (so the video is choppy; examples are included below).

[] With half the cameras disabled, the video was still choppy/sluggish, and the Milestone Server’s CPU usage fell to 25% (without any SSS apps running).

[] With all but 1 camera was disabled, and the video was still choppy/sluggish, and the Milestone Server’s CPU usage fell to 11% (without any SSS apps running).

[] All cameras were enabled (about 71), and the video was still choppy/sluggish, and Milestone Server’s CPU usage was back to 48% (without any SSS apps running).

THE FOLLOWING IS WITH 1 or more SSS web-Apps RUNNING:

[] The Milestone Server’s CPU usage is 70% with only 1 custom web-app running on a computer on the network.

[] The Milestone Server’s CPU usage is 90% with only 2 custom web-apps running on a computer on the network.

[] The Milestone Server’s CPU usage is 100% with only 3+ custom web-apps running on a computer on the network.

[] As the number of custom web-apps increases, the slower the Milestone server runs, which affects the SSS web-apps.

Thanks.

As it seems like you are having general performance problems with the servers this is probably more of a general support issue, than a development issue, so the support case is probably the right approach.

However, one comment: Depending on how the web clients have been implemented they might request the images in e.g. JPEG format and if the cameras are delivering in e.g. H.264 this will put considerable pressure on the recording server. We generally recommend using either client side decoding (so requesting it in the original format from the server) or using the XProtect Mobile Server in order to spread the load.