Multiple Clusters, Multiple Alarms Servers, running Citect as a Windows Service

Hi,

Are there any special requirements to run a multi cluster configuration as a service. I'm working with a customer that has multiple Alarm Server instances that encounter problems when running Citect as a Service.

I believe there is 5 Clusters with an Alarm Server for each Cluster. Whenever starting as a service at least one Alarm Server remains in the 'Starting' phase with the Waiting for Alarm Database Initialization messages. So I was wondering if there are any special requirements or limitations for Multi Clustering and running as a Service.

Kind regards,

Gavin

  • There is no special requirement of running your project in the service mode. Its configuration is straightforward. Simply launch Configurator,  tick the option of "Run Runtime Manager as a service", and then click on the button of "Configure". All runtime processes will be managed by Runtime Manager.

  • I haven't run into this exact problem, but I did work on a project at a site with multiple Citect clusters on a slow network a number of years ago. We found that having every Citect client and server runtime process connect to every other cluster/server created a large number of connections and caused problems. In that case, we ran the Computer Setup Wizard on each PC and on the Cluster Connections Setup page, chose which process(es) connected to which clusters. For example, the alarm server only needed to connect to its own cluster, but the client process needed to connect to 2 or more clusters, depending on the pages it needed to display.

  • There is a performance limitation (access to memory) when running in Service Mode due to Windows operating system. There are work arounds.

    See these articles:

    https://docs.microsoft.com/en-us/archive/blogs/ntdebugging/desktop-heap-overview

    https://stackoverflow.com/questions/17472389/how-to-increase-the-maximum-number-of-child-processes-that-can-be-spawned-by-a-w

    Edit the registry key value:

    Key:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems\Windows

    Value:

    %SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,20480,768 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ServerDll=sxssrv,4 ProfileControl=Off MaxRequestThreads=16

    to

    %SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,20480,2048 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ServerDll=sxssrv,4 ProfileControl=Off MaxRequestThreads=16

    restarting OS and running the Alarm server in 64 bit.

    Hope this helps.