CONNECTIONS / CONEXIONES

English (Español a continuación)

I.- Licenses

The number of contracted licenses can be established in various ways:

  • Name: The license determines the maximum number of individual users.
  • Concurrent: The license determines the maximum number of users that can be connected simultaneously. Many more users can be registered, but at any given moment only the maximum established can be connected.
  • CPU – The license sets the maximum number of CPUs on the Essbase server.
  • Unlimited: no limit is set on the number of users that can be connected simultaneously.

The number of licenses determines the number of ports. The number of ports can be queried with Maxl command:

  • display system;

Also from the console: right-click on the server node; in the window that opens select ”Edit” / “Properties”.

  • In the window, click on “License”; provide the following information:
    • Number of ports installed
  • If in the window you click on “Statistics”; provide the following information:
    • Ports in use
    • Available ports
    • Maximum number of connections
    • Maximum number of individual users
    • Number of individual users connected
    • Maximum number of Planning users
    • Number of Planning users connected

Port usage can be monitored using the following command in the configuration file essbase.cfg:

  • PORTUSAGELOGINTERVAL n

It records in the server log every certain interval the number of ports in use, thus allowing monitoring their use and determining if there is a need for additional ports.

  • “n”: determines the duration of the interval (in number of minutes) to record this information; It can take values ​​between 1 to 60.

II.- Users

From Maxl you can check the list of users registered in Essbase and which ones are connected:

  • display user;

Also from the EAS console:

  • Clicking on the server displays the “Security” node that shows information on users or user groups; clicking with the right button on each of them opens a window with the option “Show table of users / groups”.
  • Right-clicking on the server selects “Edit” / “Sessions” which shows connected users, applications, databases and active sessions.

Essbase allows a maximum number of users and groups: 30,000 (if this limit is exceeded, an error is generated).

III.- Agent thread

To establish a connection/disconnection to Essbase Server (start and stop applications) Essbase uses “Agent threads”.

  • To make each connection Essbase uses an “Agent thread” in conjunction with a thread managed by AGTSVRCONNECTIONS.

Increasing the maximum possible number of threads allows more users to connect simultaneously to different applications.

The maximum number of threads is set in the configuration file essbase.cfg:

  • AGENTTHREADS:
  • AGTSVRCONNECTIONS

a) AGENTTHREADS

Sets the maximum number of Agent threads. Its syntax is:

  • AGENTTHREADS n

«n»: maximum number of threads that the Agent can manage and can take the following values:

  • 32-bit platforms: 2 to 500 threads
  • 64-bit platforms: 2 to 1024 threads

The default value: 5

Despite these maximum values, the maximum number of threads that the operating system can handle may be significantly less.

b) AGTSVRCONNECTIONS

Sets the maximum number of threads that Essbase can manage to make the first connection to an application.

  • These threads are used to make the first connection to an application / database.
  • Once the connection is made, this thread is released.

Its syntax:

  • AGTSVRCONNECTIONS n

«n»: maximum number of threads (minimum value 1 and Oracle recommends a maximum value of 10)

Its default value: 5

IV.- Ports

Each application generates its own ESSSVR process (server process) that uses a specific port.

  • If several databases of the same application are active, all of them are managed by the same ESSSVR process.
  • Each application uses a different port.
  • These ports are different from the ports of the Essbase Server (which is managed by AGENTPORT).

The ports that can be used for the different ESSSVR processes are those that are within the range defined in the configuration file essbase.cfg by the commands SERVERPORTBEGIN and SERVERPORTEND.

  • SERVERPORTBEGIN—Determines the first port of this range, and it is the one that Essbase will use for the first application it runs.
  • SERVERPORTEND: determines the last port of this range.

Its syntax:

  • SERVERPORTBEGIN n
  • SERVERPORTEND n

Their default values ​​are 32768 (SERVERPORTBEGIN) and 33768 (SERVERPORTEND), so the default range is 1,001 ports.

  • If this range were limited, for example to 100, only 100 applications could be connected.

V.- Threads

User sessions use «application threads» (the «threads» are tasks of the same process that can be executed simultaneously).

  • Each transaction (calculation, consultation, administration activities…) uses 1 “application thread”.

Essbase establishes default values ​​for each application based on the number of licenses contracted:

  • 1 – 5 ports: 5 threads
  • 6 – 10 ports: 10 threads
  • 10 ports: 20 threads

These values ​​can be modified with the SERVERTHREADS command in the configuration file essbase.cfg.

Its structure is:

  • SERVERTHREADS [application name] n

[application name]: is optional; including an application name implies that this parameter will only affect that application; if it is not included it will affect all applications.

“n”: is the maximum number of threads that an “application process” (ESSSVR) can use and can take the following values:

  • 32-bit platforms: 20 to 500
  • 64-bit platforms: 20 to 1024

Its default value is 20.

Regardless of the maximum values, the actual number that the operating system can handle may be significantly less.

Each «application thread» can create subthreads for tasks such as parallel calculation, parallel data loading, parallel export and parallel restructuring, but if the total number of threads is too high they can lose effectiveness.

Another parameter that needs to be defined is WORKERTHREADS.

  • This command determines the size of the thread pool that Essbase can use when performing parallel operations (calculation, data loading, data exports, restructuring…).

This parameter is defined in the configuration file essbase.cfg

Its structure is:

  • WORKERTHREADS [application name] n

[application name]: is optional; including an application name implies that this parameter will only affect that application; if it is not included it will affect all applications.

Its default value is half the size set in the SERVERTHREADS.

It is important to establish it because if the default value is applied (half the size of SERVERTHREADS), and the latter has not been set either and its default value (20) also comes into action, it implies that the pool of threads to execute tasks in parallel would be limited to 10.

  • If, for example, 2 parallel calculations coincide in which 8 threads have been fixed in each of them (a total of 16 threads), the number of threads that could be used is only 10.

To establish the appropriate number, you have to take into account the resources of the server and the parallel tasks that are executed, and above all you have to do tests by trying different values ​​to approximate the optimal value.

Some recommended values ​​(although it depends, among other factors, on the type of platform 32 or 64 bit, and the number of processors).

  • SERVERTHREADS: 100
  • WORKERTHREADS: 50

VI.- Sessions

The maximum number of simultaneous sessions that the Essbase Server can handle is regulated by the MAXLOGIN command in the configuration file essbase.cfg.

  • It takes into account multiple sessions of the same user: for example, if a user has an Excel with 10 active queries to the database, 10 sessions are generated.

With this command you can limit the maximum number of simultaneous sessions in order to adapt them to the resources of the computer and the number of licenses.

  • Essbase is limited to 250 sessions per license (concurrent port: each unique combination of machine, Essbase Server, and personal password).

The structure of this command is:

  • MAXLOGINS n

It can take values ​​between 1,000 and 1,048,575

Its default value is 10,000

Español

I.- Licencias

El número de licencias contratadas se puede establecer de diversos modos:

  • Nombre: la licencia determina el número máximo de usuarios individuales.
  • Concurrente: la licencia determina el número máximo de usuarios que pueden estar conectados simultáneamente. Se pueden dar de alta muchos más usuarios pero en cada momento concreto tan sólo pueden estar conectado el máximo fijado.
  • CPU: la licencia fija el número máximo de CPUs en el servidor Essbase.
  • Ilimitada: no se fija límite al número de usuarios que pueden estar conectados simultáneamente.

El número de licencias determina el número de puertos. El número de puertos se puede consultar desde el Maxl:

  • display system;

También desde la consola: se hace click con el botón derecho sobre el nudo del servidor; en la ventana que se abre se selecciona ”Editar” / “Propiedades”.

  • En la ventana se hace click en “Licencia”; facilita la siguiente información:
    • Número de puertos instalados
  • Si en la ventana se hace click en “Estadísticas”; facilita la siguiente información:
    • Puertos en uso
    • Puertos disponibles
    • Número máximo de conexiones
    • Número máximo de usuarios individuales
    • Número de usuarios individuales conectados
    • Número máximo de usuarios de Planning
    • Número de usuarios de Planning conectados

Se puede monitorizar la utilización de puertos mediante la siguiente instrucción en el fichero de configuración essbase.cfg:

  • PORTUSAGELOGINTERVAL n

Recoge en el log del servidor cada cierto intervalo el número de puertos en uso, permitiendo así monitorizar su uso y determinar si hay necesidad de puertos adicionales.

  • “n”: determina la duración del intervalo (en número de minutos) para recoger esta información; puede tomar valores entre 1 a 60.

II.- Usuarios

Desde el Maxl se puede consultar la lista de usuarios de alta en Essbase y cuales están conectados:

  • display user;

También desde la consola EAS:

  • Haciendo click en el servidor se despliega el nodo “Seguridad” que muestra información de usuarios o de grupos de usuarios; haciendo click con el botón derecho en cada uno de ellos se abre una ventana con la opción “Mostrar tabla de usuarios / grupos”.
  • Haciendo click con el botón derecho sobre el servidor se selecciona “Editar” / “Sesiones” que muestra los usuarios conectados, aplicaciones, bases de datos y sesiones activas.

Essbase permite un máximo de alta de usuarios y grupos: 30.000 (si se excede este límite da un error).

III.- Agent thread

Para establecer una conexión / desconexión a Essbase Server (iniciar y detener aplicaciones) Essbase usa las “Agent thread”.

  • Para realiza cada conexión Essbase utiliza una “Agent thread” en conjunción con una thread gestionada por AGTSVRCONNECTIONS.

Incrementando el número máximo posible de threads permite que más usuarios puedan conectare simultáneamente a distintas aplicaciones.

El número máximo de threads se establece en el fichero de configuración essbase.cfg:

  • AGENTTHREADS:
  • AGTSVRCONNECTIONS

a) AGENTTHREADS

Establece el número máximo de threads del Agent. Su sintaxis es:

  • AGENTTHREADS n

Siendo “n” el número máximo de threads que puede gestionar el Agent pudiendo tomar los siguientes valores:

  • Plataformas 32-bit: 2 a 500 threads
  • Plataformas 64-bit: 2 a 1024 threads

Siendo el valor por defecto 5

A pesar de estos valores máximos, el número máximo de threads que el sistema operativo puede manejar puede ser sensiblemente menor.

b) AGTSVRCONNECTIONS

Establece el número máximo de threads que Essbase puede gestionar para realizar la primera conexión a una aplicación.

  • Estas threads se utilizan para realizar la primera conexión a una aplicación / base de datos.
  • Una vez realizada la conexión esta thread se libera.

Su sintaxis:

  • AGTSVRCONNECTIONS n

Siendo “n” el número máximo de threads (valor mínimo 1 y Oracle recomienda un valor máximo de 10)

Su valor por defecto: 5

IV.- Puertos

Cada aplicación genera su propio proceso ESSSVR (server process) que utiliza un puerto determinado.

  • Si están activas diversas bases de datos de una misma aplicación todas ellas son gestionadas por el mismo proceso ESSSVR.
  • Cada aplicación utiliza un puerto diferente.
  • Estos puertos son diferentes de los puertos de Essbase Server (que gestiona AGENTPORT).

Los puertos que se pueden utilizar para los diferentes procesos ESSSVR son los que están dentro del rango definido en el fichero de configuración essbase.cfg mediante los comandos SERVERPORTBEGIN y SERVERPORTEND.

  • SERVERPORTBEGIN: determina el primer puerto de este rango, y es el que Essbase va a utilizar para la primera aplicación que inicia.
  • SERVERPORTEND: determina el último puerto del rango.

Su sintaxis:

  • SERVERPORTBEGIN n
  • SERVERPORTEND n

Sus valores por defecto son 32768 (SERVERPORTBEGIN) y 33768 (SERVERPORTEND), por lo que el rango por defecto es de 1.001 puertos.

  • Si se limitara este rango, por ejemplo a 100, tan sólo se podrían conectar 100 aplicaciones.

V.- Threads

Las sesiones de los usuarios utilizan “application threads” (las “threads” son tareas de un mismo proceso que pueden ser ejecutadas simultáneamente).

  • Cada transacción (cálculo, consulta, actividades de administración…) utiliza 1 “application thread”.

Essbase establece para cada aplicación unos valores por defecto en función del número de licencias contratadas:

  • 1 – 5 puertos: 5 threads
  • 6 – 10 puertos: 10 threads
  • 10 puertos: 20 threads

Estos valores se pueden modificar con el comando SERVERTHREADS en el fichero de configuración essbase.cfg.

Su estructura es:

  • SERVERTHREADS [nombre aplicación] n

[nombre aplicación]: es opcional; si se incluye un nombre de aplicación implica que este parámetro tan sólo afectará a dicha aplicación; si no se incluye afectará a todas las aplicaciones.

“n”: es el número máximo de threads que puede utilizar un “application process” (ESSSVR) y puede tomar los siguientes valores:

  • Plataformas 32-bit: 20 a 500
  • Plataformas 64-bit: 20 a 1024

Su valor por defecto es 20.

Con independencia de los valores máximos, el número real que un sistema operativo puede gestionar puede ser sensiblemente menor.

Cada “application thread” puede crear subthreads para tareas como calculo paralelo, carga de datos en paralelo, exportación en paralelo y restructuración en paralelo, pero si el número total de threads es muy elevado pueden perder efectividad.

Otro parámetro que hay que definir es WORKERTHREADS.

  • Este comando determina el tamaño del pool de threads que Essbase puede utilizar cuando ejecuta operaciones en paralelo (calculo, carga de datos, exportaciones de datos, reestructuraciones…).

Este parámetro se define en el fichero de configuración essbase.cfg

Su estructura es:

  • WORKERTHREADS [nombre aplicación] n

[nombre aplicación]: es opcional; si se incluye un nombre de aplicación implica que este parámetro tan sólo afectará a dicha aplicación; si no se incluye afectará a todas las aplicaciones.

Su valor por defecto es la mitad del tamaño fijado en el SERVERTHREADS.

Es importante establecerlo ya que si se aplica el valor por defecto (mitad del tamaño del SERVERTHREADS), y este último tampoco se ha fijado y entra en acción también su valor por defecto (20) implica que el pool de threads para ejecutar tareas en paralelo quedaría limitado a 10:

  • Si, por ejemplo, coincidieran 2 cálculos paralelos en los que se han fijado 8 threads en cada uno de ellos (un total de 16 threads) el número de threads que podrían utilizar es tan sólo de 10.

Para establecer el número conveniente hay que tener en cuenta los recursos del servidor y las tareas en paralelo que se ejecutan, y sobre todo hay que hacer tests probando diversos valores para aproximar el valor óptimo.

Algunos valores recomendados (aunque depende, entre otros factores, del tipo de plataforma 32 o 64 bit, y del número de procesadores).

  • SERVERTHREADS: 100
  • WORKERTHREADS: 50

VI.- Sesiones

El número máximo de sesiones simultaneas que Essbase Server puede gestionar se regula mediante el comando MAXLOGIN en el fichero de configuración essbase.cfg

  • Tiene en cuenta múltiples sesiones de un mismo usuario: por ejemplo, si un usuario tiene un Excel con 10 consultas activas a la base se generan 10 sesiones.

Con este comando se pude limitar el número máximo de sesiones simultáneas con objeto de adecuarlas a los recursos del ordenador y al número de licencias.

  • Essbase tiene un límite de 250 sesiones por licencia (concurrent port: cada combinación única de máquina, Essbase Server y clave de acceso).

La estructura de este comando es:

  • MAXLOGINS n

Puede tomar valores entre 1.000 y 1.048.575

Su valor por defecto es 10.000