Configuration
The TimeBase server can be configured in the configuration file using the properties
syntax. In most installation types, the TimeBase server runs with QuantServer Home/config/admin.properties as the default configuration file. Additional parameters can be defined via System Properties.
To simplify updates and improve modularization, it is best practice to keep the default admin.properties file unmodified and use system properties to specify custom values or override defaults.
Here is the full list of TimeBase configuration parameters:
Configuration Parameters
info
You my define any parameter value as an environment variable, for example, TimeBase.maxNumOpenFiles=${keyStorePass}
.
Name | Default Value | Description | System Property |
---|---|---|---|
TimeBase.port | 8011 | TimeBase server port accepting HTTP, HTTPS, and internal TCP/IP connections. | |
TimeBase.host | TimeBase server hostname | ||
TimeBase.readOnly | FALSE | Read-only mode to prevent any changes. | |
TimeBase.compression | AUTO | Determines remote connection compression for increasing throughput. Latency is measured starting from the first connection between client and server. Supported values include: AUTO : Turns on data compression for connections whose latency surpasses 10 milliseconds. ON : All data is compressed. OFF : No data is compressed; data is sent as is. | |
TimeBase.enableRemoteAccess | FALSE | Grants or blocks access to the management web interface for remote http clients. Supported values: true and false . | |
TimeBase.enableSSL | FALSE | Enables SSL and SSL properties. Supported values: true and false . When TimeBase.enableSSL=true , must define all other SSL properties. | |
TimeBase.fileSystem | The local file system that TimeBase uses to store files. | ||
TimeBase.fileSystem.compression | LZ4(5) | Defines compression levels when data gets written to the file. More compression leads to more CPU being spent. Related to storage version 5.0. | |
TimeBase.fileSystem.maxFileSize | 8388608 | Related to storage version 5.0. Defines the maximum size (in bytes) of the file stored on disk. | |
TimeBase.fileSystem.maxFolderSize | 100 | Maximum number of files in any folder | |
TimeBase.highTimeResolution | FALSE | High-res timing affecting new messages timestamps. Only works when TimeBase.timeSourceName=KeeperTimeSource is set. | |
TimeBase.localhostShutdown | FALSE | When set to true , disables "shutdown" execution from remote host. | |
TimeBase.lingerInterval | 10000 | Specified period of time (in milliseconds) during which TimeBase tries to restore a broken connection without any data or state loss. | |
TimeBase.maxBandwidth | Maximum bandwidth that the server can process, calculated as an EMA value. When this number is reached, the server rejects any further connections. This prevents denial of service attacks for the server. | ||
TimeBase.maxConnections | 100 | The maximum number of concurrent connections that the server accepts and processes. When this number has been reached, the server rejects any further connections. This additional connection is rejected until the number of connections being processed falls below maxConnections , at which point the server starts accepting and processing new connections again. | |
TimeBase.maxSocketsPerConnection | 2 | Number of sockets allocated for each connection. | |
TimeBase.maxNumOpenFiles | unlimited | Limit to the number of files TimeBase can open. Applies to storage versions 4.3 and 5.0. | |
TimeBase.memorySize.1 | Memory sizing. Defines data cache size. | ||
TimeBase.metrics.enable | FALSE | Enables metrics. For more information on metrics, go here. | |
TimeBase.metrics.enableJvmMetrics | FALSE | Enables JVM metrics. For more information on metrics, go here. | |
TimeBase.metrics.enableTomcatMetrics | FALSE | Enables Tomcat metrics. For more information on metrics, go here. | |
TimeBase.preallocatedMemorySize | Percentage of memory cache size allocated on start that affects new streams only. For new streams created via API without a specified storage format, the format is set by default using the value specified by this property. Applies to storage version 4.3. Helps improve system latency and stability. | ||
TimeBase.ramCacheSize | Combined cache size of memory data cache and LRU file system cache. | ||
TimeBase.safeMode | Using Safe Mode provides additional logging and disables streams with errors on startup. | ||
TimeBase.sslInfo | Supported value: QSKeystoreInfo | ||
TimeBase.sslInfo.keystoreFile | Path to the keystore file | ||
TimeBase.sslInfo.keystorePass | Password for keystore | ||
TimeBase.sslInfo.sslForLoopback | Disables SSL for local connections. Can enable it for testing and debugging purposes. | ||
TimeBase.sslInfo.sslPort | SSL port for TimeBase | ||
TimeBase.timeSourceName | KeeperTimeSource | Indicates how time gets into messages. Supported values include MonotonicRealTimeSource and KeeperTimeSource . | |
TimeBase.version | 5.0 | Data storage format version. The new format "5.0" provides numerous enhancements (virtually no size limit, compression, HDFS support, etc.) The new format uses the timebase/ storage sub-directory. Selecting the "4.3" format instructs TimeBase to use the traditional storage format widely used before release 4.3.31A. The old format stores data under the tickdb/ sub-directory. | |
TimeBase.shutdownTimeout | unlimited | Shutdown timeout. Time amount to wait while data is stored. |
Additional Properties
System Properties
TimeBase Configuration includes the following internal system properties to tweak core components:
System Property | Default Value | Description |
---|---|---|
deltix.home | Required. Points to the TimeBase installation folder | |
deltix.qsrv.home | Required. Points to the TimeBase which contains data, logs, configuration files | |
TimeBase.fileSystem.chunkedCache.chunkSizeKb | 128 | Cache Chunk size (in kilobytes) |
TimeBase.qql.functions.packages | Custom java packages to scan for QQL Functions | |
TimeBase.qql.maxGroupsCount | 1000000 | Max groups when using QQL GROUP BY statement |
TimeBase.qql.maxWindowSize | 1000000 | Max windows size when using WINDOW functions in QQL |
TimeBase.storage.attemptsPerFile | 2 | Number of attempts to store file. If this number is exceeded, the file will be ignored. |
TimeBase.storage.failuresToShutdown | 5 | Number of I/O failures to initiate TimeBase shutdown |
TimeBase.storage.memory.allocationRatio | 30 | % of allocated memory to be used by Write Queue |
TimeBase.storage.writers | 2 | Number of parallel writers. Used to increase writing speed. |
TimeBase.aeron.enabled | false | Enable/Disable Aeron Driver |
TimeBase.transport.aeron.driverTimeout | 60 | Aeron Driver Communication timeout (in seconds) |
QuantServer.enableRemoteMonitoring | false | Enable/Disable access for the remote http clients. Same as Remote Access |
Environment Variables
Environment Variable | Default Value | Description |
---|---|---|
DELTIX_HOME | Required. Points to the TimeBase installation folder. | |
TIMEBASE_SERIAL | Required. TimeBase serial number. |
Startup Parameters
If you start the TimeBase Server via the command line, the following arguments are available:
-port TimeBase port
-host TimeBase host
-home TimeBase Home folder