In this article:

Setting Up BI Servers Cluster

Setting Up BI Server

Setting Up DBMS

Setting Up Foresight Analytics Platform Activation

Administration

Working with Repository Objects

Working with Extensions

Logging

Connection Pool

Session Break Timeout

Interaction with Antivirus Software

Windows OS Settings

Performance Improvement Recommendations

To increase performance of Foresight Analytics Platform, use hardware and software settings.

Setting Up BI Servers Cluster

Several BI servers of Foresight Analytics Platform can be used to deploy a fault-tolerant cluster. This will require balancer, state server and several BI servers configured to work with the same state server.

Setting Up BI Server

To increase performance of BI server on the Apache2 web server, set up:

PP_RETMEM=1
MALLOC_MMAP_THRESHOLD_=8192
PP_RETMEM_CO=1
MALLOC_ARENA_MAX=1

NOTE. The use of the MALLOC_ARENA_MAX=1 variable can reduce memory consumption with BI server but may worsen performance. Test application system performance when the variable is used.

Setting Up DBMS

A database and BI server should be located within one local network. Otherwise it may result in significant performance slowdown because of large overhead expenses on SQL queries.

The PostgreSQL configuration file contains minimum settings by default. Increase values of the max_connections, work_mem and shared_buffers parameters according to hardware characteristics of the server, on which DBMS is installed. Set the max_connections parameter as a sum of the maximum number in connection pools on each cluster node with the safety margin 25%.

When working with ClickHouse DBMS, it is recommended to specify the STRINGMAXLENGTH connection string that limits maximum size of string values. This allows for decreasing memory buffer volume allocated for obtained data, which, in turn, speeds up request execution and improves overall performance. For example:

Driver={ClickHouse ODBC Driver (Unicode)};Server=localhost;Database=default;UID=default;PWD=default;STRINGMAXLENGTH=8000.

Setting Up Foresight Analytics Platform Activation

Foresight Analytics Platform enables the user to use advantages of SMP systems and can use all available processor cores. User queries are executed by multiple threads within task scheduler. Threads are automatically distributed to available processor cores by the operating system. This helps distribute computation load.

Administration

When administrating Foresight Analytics Platform in the security manager:

If domain or integrated domain authentication is used, create domain groups without explicit adding each user account.

NOTE. Domain group support is available if there are groups as roles and users included in these roles on the DBMS level.

Working with Repository Objects

To work with repository objects:

IMPORTANT. System metadata table caching is allowed only in the production version. When caching is used, data in system metadata tables must not be changed.

"modules": {
  "2562": {
    "customization": {
      "chart": {
        "isAnimationDisable": true
      }
    }
  }
}

Working with Extensions

If Foresight Analytics Platform extensions are installed, execute the following to increase performance:

Logging

Disable logging Foresight Analytics Platform or hide debug info output:

  1. Create the Log section in the registry key [HKEY_LOCAL_MACHINE\Software\Foresight\Foresight Analytics Platform\10.0].

  2. In the section create the WriteToDebugOutput parameter of the REG_DWORD type with the 0 value.

Connection Pool

Connection pool limits the number of connections between BI server instance and DBMS. The connection pool limit is set to 50 by default. Set pool limit manually to the required value depending on application system requirements. Pool setup is read by each BI server process separately.

Session Break Timeout

Set idle time without requests, after which the repository session is broken using the TimeoutSec parameter in the registry key [HKLM\SOFTWARE\Foresight\Foresight Analytics Platform\10.0\PP\BIS\System\Session]. The use of large time values can result in increased memory consumption; the use of the -1 infinite value can result in memory leaks.

Interaction with Antivirus Software

If antivirus is being installed to the servers that support the production environment, system performance may be reduced due to antivirus software work features. As a result, there are delays in execution of operations related to file and network input/output. To increase system performance, see antivirus software manufacturer recommendations. For example, recommendations for Kaspersky Endpoint Security 12 are contained in the Kaspersky documentation.

When setting up antivirus, exclude from checking the following components of Foresight Analytics Platform:

Make sure that processes used by Foresight Analytics Platform are not scanned permanently by antivirus. The processes are: BI server, web application back end, license server, task scheduler. Take into account that Foresight Analytics Platform can use other processes started by the user, for example, on Fore application code execution or on connecting additional modules: Python, Java, R, and so on.

Windows OS Settings

To speed up work of Foresight Analytics Platform in Windows OS:

  1. Open the Windows control panel.

  2. Go to the Power Options section in the System and Security category.

  1. Select the High Performance radio button:

After executing the operations the performance of Foresight Analytics Platform.

Make sure that debugging and profiling tools: Intel Vtune, DebugDiag, AppVerifier, Valgrind, and also antiviruses, are not used on servers in the production environment.

See also:

Installing and Setting Up Foresight Analytics Platform | System Requirements