x2gobroker-loadchecker(8) | X2Go Session Broker | x2gobroker-loadchecker(8) |
x2gobroker-loadchecker - Load checker service for X2Go Session Broker
x2gobroker-loadchecker
[ options ]
x2gobroker-loadchecker is a service that collects system load metrics from broker-associated X2Go Servers.
When load-balancing shall be used, the simplest way to detect "server load" is counting the numbers of running and suspended sessions. No extra daemon nor service is required for this. The server with the least amount of sessions will be selected for starting the next X2Go session.
However, simply counting running and suspended sessions per X2Go Server as a representative for the server load can be highly inaccurate. A better approach is checking each X2Go Server's load in regular intervals by the x2gobroker-loadchecker daemon (running on the broker host) and querying the x2gobroker-loadchecker daemon before selecting the best server on session startup requests.
The x2gobroker-loadchecker collects server metrics of all associated X2Go Servers and keeps the latest load factors in RAM. Once the broker needs load factors of a certain session profile (i.e., of all servers configured in that session profile), the x2gobroker-loadchecker delivers that info immediately. The remembered load factors may not be 100% up-to-date (default: collected within the last five minutes), but the response time of the load checker is much faster than a query to all possible X2Go Servers would be.
The load factor calculation uses this algorithm:
( memAvail[MByte]/1000 ) * numCPUs * typeCPUs[MHz]
load-factor = --------------------------------------------------
loadavg*100 * numSessions
The higher the load-factor, the more likely that a server will be chosen for the next to be allocated X2Go session.
The communication between X2Go Session Broker and the Load Checker Service is handled through a unix domain socket file (<RUNDIR>/x2gobroker/x2gobroker-loadchecker.socket).
This command is normally started through the host's init system.
x2gobroker-loadchecker accepts the following common options:
<RUNDIR>/x2gobroker/x2gobroker-loadchecker.socket
This manual has been written for the X2Go project by Mike Gabriel <mike.gabriel@das-netzwerkteam.de>.
Apr 2020 | Version 0.0.4.x |