About a year ago, we met capacity planning problem: we was need about 8-10 Content Server instances due to the fact that one single CS instance was able to handle no more than 1020 concurrent sessions. 1020 concurrent session limit is described in 94652:

Symptoms

The server may fail to start with the following errors in the server logfile:

Tue May 11 15:22:58 2010 486000 [DM_SERVER_E_START_NETWISE]error:  "The server failed to start due to an error returned by the Netwise networking subsystem. Failed API: nl_config(numconn). Error (547) Illegal config parameter value.  Extended network error: 1."

Tue May 11 15:22:58 2010 486000 [DM_SERVER_E_START_NETWISE]error:  "The server failed to start due to an error returned by the Netwise networking subsystem. Failed API: nl_open(). Error (501) Network Library not initialized.  Extended network error: 0."

Cause

You have exceeded the maximum number of simultaneously open connection allowed for that OS/platform. The maximum number of concurrent sessions is dependent on the operating system of the host server.

 

Resolution

Check the concurrent_sessions key value specified in server.ini file.

Internally content server calculates maximum number of simultaneously open connection as follows:

NUMCONN = 1.25 times ( value of concurrent_sessions in server.ini + 2 )

 

You need to adjust the concurrent_sessions value in server.ini file so that it does not exceed the maximum number of simultaneously open connection allowed for that OS/platform. For example:

 

Windows

maximum number of simultaneously open connection = 4096

hence maximum value for concurrent_sessions in server.ini = 3275

HPUX

maximum number of simultaneously open connection = 2046

hence maximum value for concurrent_sessions in server.ini = 1637

 

I have no idea whether is that article correct from MS Windows perspective or not, but it's completely wrong from unix perspective:

  1. UNIXes do not have mentioned limits, it seems EMC means limits applied by select(2) call:

    An fd_set is a fixed size buffer.  Executing FD_CLR() or FD_SET() with a value of fd that is negative or is equal to or larger than FD_SETSIZE will  result  in  undefined behavior. Moreover, POSIX requires fd to be a valid file descriptor.

    that means CS uses obsolete API (e.g. poll() does not have such limits).
  2. In UNIX environment CS spawns new process for every new client connection, so every documentum process have at most 5-6 open file descriptors, so even select call limits are not applicable for UNIX environment.

 

So, we filed service request (CS-40517) to EMC support, and now it is fixed in 6.7SP1P19 and 6.7SP2P04, but EMC forgot to mention how to activate that fix To increase concurrent_sessions limit beyond 1020  you should edit server.ini config file to set desired value and set the same value to DM_FD_SETSIZE environment variable before starting CS.