2.1. Performance Update

There are some known issues that affect scalability for large numbers of sessions (more than 80 simultaneous sessions per server) on Oracle Linux 6 and Oracle Solaris 11 systems. These limits are a result of default configurations and low file descriptor resource caps configured in the system DBus and gdm processes. The following workarounds can be applied to extend scalability.

Oracle Linux 6

  1. Become superuser on the Sun Ray server.

  2. Change the default DBus resource limits by creating a /etc/dbus-1/system-local.conf file with the following lines:

    <!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN"
     "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
    <busconfig>
      <!-- default for this is 2048 -->
      <limit name="max_completed_connections">32768</limit>
      <!-- default for this is 256 -->
      <limit name="max_connections_per_user">4096</limit>
    </busconfig>
  3. Change the system GDM daemons file descriptor resource cap by adding a ulimit command to the /etc/X11/prefdm file.

    After the line PATH=..., add the following line:

    ulimit -n 16384
  4. Reboot the system for the changes to take effect.

Oracle Solaris 11

  1. Log in as root on the Oracle VDI host.

  2. Change the default DBus resource limits by creating a /etc/dbus-1/system-local.conf file with the following lines:

    <!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN"
     "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
    <busconfig>
      <!-- default for this is 2048 -->
      <limit name="max_completed_connections">32768</limit>
      <!-- default for this is 256 -->
      <limit name="max_connections_per_user">4096</limit>
    </busconfig>
  3. Change the system DBus daemons file descriptor resource cap by adding a plimit command to the /etc/init.d/utsyscfg file.

    After the line start) (line 320), add the following lines:

    if [ -x /bin/plimit ]; then
    	DPID=$(pgrep -f "dbus-daemon --system")
    	if [ -n "$DPID" ]; then
    		plimit -n 16384 $DPID
    	fi
    fi
  4. Force the system gdm process to use the Solaris Extended File Facility by replacing a line in the /lib/svc/method/svc-gdm file.

    Replace the line /usr/sbin/gdm $arg & with the following two lines:

    ulimit -n 16384
    LD_PRELOAD_32=/usr/lib/extendedFILE.so.1 /usr/sbin/gdm $arg &
  5. Reboot the host for the changes to take effect.