Which restrictions are known when using the SSL-communication and the proxy manager?
This FAQ is only related to projects using version 3.12 and the proxy manager for the secured communication between the server and client processes.
During the tests we have detected some restrictions in really big projects with a lot of manager connections (server <--> client). The tests have been made with UI-clients and a load simulation, the UI-clients are connected to the simulated values.
• Crash of proxy manager when reaching the limit for file handles (Linux, Solaris)
On Unix operating systems the number of open file handles is limited for every process. For every client connection to the data and event manager from a remote machine (like a remote UI) 8 file handles are needed.
Therefore you run into problems when starting more than 125 clients because the default limit is 1024 file handles in standard configuration at most of the systems.
The limit has to be changed in the settings for the operating system. With the command “ulimit –n” you can get the current configuration.
• High CPU-usage when starting more than 127 clients (Linux, Solaris)
When the handle limit is increased another problem may occur when using more than 127 clients. When the 128th client tries to establish the connection the proxy manager will use 100% CPU-time. The CPU usage will decrease when there are again only 127 or less established connections and no one tries to connect.
• Increasing CPU-usage with every connected client (Windows)
The CPU-usage of the proxy manager increases with every connected process. At our tests the proxy manager was using 100%-CPU time when 100 clients had a connection. Connecting new clients was possible without negative effects on the connection handling and the performance.
• Increasing memory usage during runtime
While clients are connected which are sending or receiving data the memory usage for the proxy manager can increase when the data cannot be processed fast enough. The proxy-manager is then buffering data. If the connections are terminated the memory usage decreases again.
Right now there is no limitation or check for the buffer size implemented in the proxy manager.
This behavior may occur when several clients are running on the same machine, e.g. UI clients on a terminal server connected with a low-bandwidth network.
If there is the requirement in your project to be able to use more than 100 connections at the same time you can use (as a workaround) more than one proxy manager for a server project. In this case the proxy manager is started on an own machine to share the load on different computers. At the clients you have to define which proxy manager they shall use when establishing the connection to the server.
The configuration for the remote proxy manager looks like follows:
[general]
server = “server-hostname”
E.g.:
[general]
server = “projectserver1”
At the client you have to define where the proxy manager is running using the following entries:
[general]
mxProxy = “server-hostname proxy-hostname:port securitymode”
E.g.:
[general]
data = “projectserver1”
event = “projectserver1”
mxProxy = “projectserver1 proxyserver1 cert”
ETM is still working on a solution for these restrictions. As soon as a fix is available this FAQ entry will be updated.