BI Server Point Manager Parameters

The BI Server makes use of point managers, which are services installed with GENESIS to perform tasks specific to the point manager's function. Learn more

Point managers have parameters that can be used to adjust the service's behavior. You can view and edit the parameters in Platform Services Configuration on the Point Managers tab. Learn more

The BI Server has the following parameters.

Parameter Name

Default Value

Description

GCCollectScheduleMinutesAfterMidnight

-1

Instructs the server to manually run a forced garbage collection with Large Object Heap compaction. When set to a negative value (default), this feature is disabled. A value greater than or equal to 0 specifies the number of minutes after local midnight to wait before scheduling the garbage collection.

The forced garbage collection should not be necessary for most systems. The .NET Framework should manage memory usage and release the memory as needed over time. However, some systems may want to use this daily check to prevent the perception that the BI Server engine is leaking memory or better manage a high-memory system.

NumberOfConcurrentLoadingTasks

4

Defines how many loading tasks the BI Server can run concurrently.

A loading task is triggered for each data table in an online data model to ingest the table data when the server starts up.

DataflowBoundedCapacity

16384

Defines how many rows are requested at a time from the data source associated with the data table.

GCCollectDelayOnDataLoadingMins

5

Defines the delay after which the BI Server performs a full garbage collection with Large Heap compaction when some runtime operation has caused table data to change. Such operations include: loading data into a table (either on startup or via a trigger), changes to the table schema that require a data reload, or changes to the data model (going offline, deleting or adding tables).

Set the parameter to a negative value to disable this behavior.

MaxCacheSizeItems

1000

Defines the maximum number of query results to keep in the BI Server cache. If the cache is full, existing results are evicted from the cache by LRU (Least Recently Used).

ItemCacheSlidingExpirationMins

10

Defines a sliding window of inactivity. If a cached query result is not accessed in the inactivity window, it is dropped from the cache.

DataLoadRetryCount

3

Defines how many times to retry a loading task if the task fails (returns an error or has an exception).

DataLoadRetyDelayMsec

10000

Defines the amount of time to wait, in milliseconds, after a loading task failure before retrying.

DataLoadTimeoutSec

120

Defines the time, in seconds, after which a loading task is considered timed out and then aborted.

Loading tasks process data in chunks of rows (see the DataflowBoundedCapacity parameter), and this timeout value applies to reading a single chunk of data from the data flow, after which it will reset to read the next chunk.

There is a notable exception for data flows using the Transpose step, since this step must consume the entire input before producing its output, which means that this parameter value must be large enough for the Transpose step to have the time to consume the entire input data source.

A loading task that times out is not retried. The retry count and retry delay below do not apply to loading tasks that have timed out.

EnableArraySubscription

False

When true, exposes single-column datasets as FrameWorX arrays.

EnableErrorDetailsDiagnosticPoints

False

When true, the @@LastError point is available in runtime for Data Tables under the @@Diagnostics folder.

ForwardOnlyInactivityTimeoutSeconds

30

Only applies when Reports, Bridging, or BI Server are clients to a dataflow.
This value determines how long the server waits for the next read operation from a client before closing the connection.

Longer values may reduce overhead of opening and closing the connection, but may keep connections active longer than required. Shorter values may cause unnecessary repeated closing and reopening of the connection.

EnableQueryPlanCache

False

When true, the server will cache query execution plans after they are generated the first time.

Caching query plans might improve execution times of small queries, where the time spent building the execution plan is comparable to or greater than the time spent executing the query.

EnableColumnStatistics

False

When true, the server keeps track of columns involved in predicates of executed queries. Based on usage, statistics are automatically created for frequently used columns, and for the most-used columns in predicates, an index may be created as well.

Statistics help the query optimizer in reordering predicates to improve query execution times. Indexes are used, when applicable, in place of table scans to improve query execution times.

DisableCompatibilityPointNameParsing

True

 

IntraQueryMaxDegreeOfParallelism

-1

Defines the maximum level of parallelism applied to individual operators inside a query. When set to the default value of -1, the applied value is 1, which disables parallelism at the operator level. The default value is appropriate for systems that are expected to execute a large number of queries simultaneously.

QueryThreadPoolSize

-1

Defines the size of the thread pool used by BI-Server to execute a query. When set to the default value of -1, the thread pool size is not specified and is handled dynamically by the system. A value greater than 0 limits the number of available threads to execute queries to the specified value.

TableRefreshAggregationIntervalSec

0

Defines an interval, in seconds, after receiving the signal to refresh a data table, during which the BI-Server waits for additional signals to refresh other tables. After the interval has passed, the BI-Server updates all clients connected to the tables that were signaled within a single operation.

When set to the default value of 0, clients are updated immediately after the table that they are connected to is refreshed. This means that if a client is connected to multiple tables (for example, its query joins multiple tables), it receives an update for each refreshed table.

When set to a value greater than 0, such a client may receive a single update if all the tables that it is connected to refresh within the configured interval. However, this also means that the configured interval represents the minimum time required for the client to be updated after one of its connected tables is refreshed.