Runtime Settings ClusterManagerActionInterval = 300 000 = 5 mins EnableKeepAlive = false SessionTimeout = 1 800 000 = 30 mins Concurrent users for app is 50. My understanding of the above settings should mean that if a Session is inactive for 30 mins then it should be cleaned up by the underlying process. The Cluster manager interval should mean the process runs every 5 mins and picks up any of the sessions that have been invalidated. The enable keep alive of false should ensure that a dormant session gets invalidated. Problem – There are times when my application can have a lot of users logging in and out in a very short time frame. My observation is that this can cause the app to hit the concurrent users exceeded issue. I do not want to reduce the SessionTimeout setting for app specific reasons. Observation – What I am finding is that even though a user has logged out, their old session is not being cleaned up by the next clustermanager process run, and when another user logs in, or the same user logs in again, the concurrent count increases. So, even though the Clustermanageractioninterval is set at 5 minutes I am not seeing the removal of the logged out sessions like I would expect. If a user logs in again though, I get the output of the logon in the logs and the rising user count. What I do find though, is that after a 30 min interval the logged out sessions are being cleared. This leads me to think that the sessions for the logged out users are still alive and not being invalidated via the logout process and are only invalidated based on the SessionTimeout setting. So even though a user has logged out, the session they had is only going to be removed after the SessionTimeout setting interval and means the concurrent count is not refreshed correctly. I find this at odds with the purpose of a concurrent user license. What I would expect is that when a user logs out the concurrent user count reduces regardless of the underlying clean up mechanism of session removals, or failing that, has the session invalidated so that the cluster manager can pick it up correctly in its next process run. Is this a bug, by design, or am I missing something?
You might be seeing a bug on the session clean-up time.
Might be worth raising this with Mendix.
As for the multiple sessions per user – that is as per design. If I remember this correctly you can prevent them via settings but I’m afraid I can’t quite find where/how to change it.