w3wp.exe

We have a Windows service developed as a MIPS Component Integration that receives events. When we receive an event, we check the camera source for some custom parameters. If the event meets per-camera criteria, we initiate record from the camera and export the clip as an MKV. When this is running on a system with around 100 cameras installed, we see high CPU use on the computer running the management server, specifically from a w3wp.exe process apparently started by the management server application.

What we are seeing is this service spike when clips are processed that our MIPS integration is initiating.

In review of the service, this is the command line running:

[c:\windows\system32\inetsrv\w3wp.exe](file:c:/windows/system32/inetsrv/w3wp.exe) -ap “VideoOS Management Server AppPool” -v “v4.0” -l “webengine4.dll” -a [file://./pipe/iisipmf21dc033-3545-472f-ab0f-9a0eaf952d04][\\.\pipe\iisipmf21dc033-3545-472f-ab0f-9a0eaf952d04](file://./pipe/iisipmf21dc033-3545-472f-ab0f-9a0eaf952d04) -h “[C:\inetpub\temp\apppools\VideoOS](file:C:/inetpub/temp/apppools/VideoOS) Management Server AppPool\VideoOS Management Server AppPool.config” -w “” -m 0 -t 20 -ta 0

when we turn off our MIPS integration Service, this w3wp service drops to nil.

We are looking to reduce the CPU overhead, ideally by reducing this process or being able to run it on another machine. Any ideas what this process is, and/or how we can mitigate it?

Hi,

As the name indicates, this is the application pool for the web service running the Management server APIs. As such, there is no way to separate that from the management server. I’d be interested to know what calls more specifically your MIP application is making as part of this process that could cause the CPU usage of the Management Server web service to spike like this, it may indicate an inefficiency somewhere that we can improve upon.

Best Regards,

Simon

Thanks for the response - that’s what I figured (was all part of the service), but thought it was worth asking. The complete set of calls we make, I believe, is calls to:

In VideoOS.Platform:

(For every received event message)

.Configuration.Instance.GetItem

.Configuration.Instance.GetAssociatedProperties

(if we do further processing on the event)

.Instance.SendMessage

.Log.LogClient.Instance.NewEntry

.EnvironmentManager.Instance.SendMessage

.Data.MetadataProviderChannel.QueueMetadata

We also use the GetItem() and GetChildItems() calls from VideoOS.ConfigurationAPI