Use the parameters listed in the table below to optimize server performance.

Table 1. Server performance parameters
Parameter Syntax Purpose
After-image Buffers -aibufs n Specifies the number of after-image buffers when running AIW
After-image Stall -aistall Suspends database activity when an empty after-image (AI) file is unavailable
Blocks in Database Buffers -B n Specifies the number of blocks in the database buffers
Blocks in Database Alternate Buffer Pool -B2 n Specifies the number of blocks in the database Alternate Buffer Pool.
Before-image Buffers -bibufs n Specifies the number of before-image buffers when running BIW
Threshold Stall -bistall Quiets a database and sends a message to the log file when the recovery log threshold is reached; use with -bithold
Recovery Log Threshold -bithold n Specifies the maximum size of the recovery log files in MB
Database-Client Statement Cache Allocation Factor -clstmtcacheallocationfactor Specifies the number of connections you want to account for when reserving shared memory
Database-Client Statement Cache Size -clstmtcachesize Specifies the size of the client statement cache in shared memory
Direct I/O -directio Opens all files in unbuffered mode
Event Level -evtlevel Specifies the level of information written to the Windows Application Event Log
Before-image Cluster Age -G n Specifies the number of seconds before the database reuses a before-image cluster
Group Delay -groupdelay n Specifies the number of milliseconds a transaction waits before committing
Hash Table Entries -hash Specifies the number of hash table entries for the buffer pool
No Crash Protection -i Runs the database without integrity or recovery
Increase parameters online -increaseto Increases certain predefined server startup parameters while the database is online
Lock Governor -LGovernor n Specifies the percentage of the lock table that a tenant can occupy
Note: This parameter is applicable to only the default tenant and regular tenant in multi-tenant databases; this parameter does not apply to a super-tenant
Lock Table Entries -L n Specifies the number of entries in the record locking table
Lock release -lkrela Use the original lock release mechanism installed from previous OpenEdge versions
LRU force skips -lruskips n Specify the number of times a buffer in the buffer pool is accessed before it is placed on the Most Recently Used (MRU) end of the LRU chain
LRU alternate buffer pool force skips -lru2skips n Specify the number of times a buffer in the alternate buffer pool is accessed before it is placed on the Most Recently Used (MRU) end of the LRU chain
Maximum area number -maxAreas n Specify the maximum area number available
Delayed BI File Write -Mf n Delays writing the last before-image (BI) file records
Shared-memory Overflow Size -Mxs n Replaces the default value of the shared-memory overflow area
Number of Users -n n Specifies the maximum number of users connected to the database
Nap maximum -napmax n Specifies the maximum time (in milliseconds) to sleep (nap) after the -spin value is exhausted due to failure to acquire a latch
Login Governor -nGovernor n Specifies the maximum number of users that may login for a tenant
Note: This parameter is applicable to only the default tenant and regular tenant in multi-tenant databases; this parameter does not apply to a super-tenant
Message wait -Nmsgwait n Specifies the number of seconds a server waits for a remote network message
Pin Shared Memory -pinshm Prevents the OS from swapping shared memory contents to disk
Prefetch delay -prefetchDelay Enable a delay when sending the first network message for queries with prefetch capabilities
Prefetch factor -prefetchFactor n Specify a percentage of a network message required to contain prefetched data
Prefetch num recs -prefetchNumRecs n Specify the number of prefetch records placed in a network message
Prefetch priority -prefetchPriority n Specify the number of prefetch records to add to an in-process query without polling
Schema lock wait queue -schlockwq Alters the schema locking algorithm so that the schema lock scheduler forces a shared schema lock request to wait when an exclusive schema lock request is queued
Semaphore Sets1 -semsets n Changes the number of semaphore sets available to a broker
Shared memory segment size -shmsegsize n Specifies the maximum shared memory segment size
Spin Lock Retries -spin n Specifies the number of times a process tries to acquire a latch before pausing
Transaction End (TXE) Retry Limit -TXERetryLimit n Specifies the number of times a connection will re-try to obtain TXE lock after a 1ms nap before getting queued
Authorized Data Truncation -SQLTruncateTooLarge value Can be set to ON or ALL to truncate data exceeding the column size. If the parameter is set to OFF, no data is truncated and SQL displays an error. If the parameter is set to OUTPUT, only the output is truncated. SQL also displays an error if the SQLTruncateTooLarge parameter is not specified at all in case of data exceeding the column size. The default value for the SQLTruncateTooLarge parameter is OFF.
Autonomous Schema Update -SQLWidthUpdate value Helps resolve the SQL width problem by updating the SQL column width in schema automatically when Authorized Data Truncation(ADT) occurs for data in a column. To use this feature, provide the value of the -SQLWidthUpdate parameter as ON during startup. Once the value of the parameter is set, it is remembered for the lifetime of the server and for all connections. If the value of the -SQLWidthUpdate parameter is set to ON during startup, the Authorized Data Truncation(ADT) parameter is also enabled irrespective of whether ADT was enabled during startup unless specified otherwise using connection URL.
Note: This parameter can be provided only during server startup and not in the client connection URL.
Generate Core Dump -SQLEnableCoreGeneration Use this parameter to generate core dump when the OpeneEdge SQL server crashes. This parameter can be used only on Linux platform.
Failure Driven Logging -SQLFailureDrivenLog

Use this parameter to log SQL queries and log information, which result in an error. This omission reduces the volume of log data in the SQL log files, while providing useful log information for the query which resulted in an error. “ERROR_ONLY” option is part of SQL “Set log” command, which serves as an alternative.

Lock Wait Timeout -SQLLockWaitTimeout Use this parameter (-SQLLockWaitTimeout) to specify the number of seconds to wait when a lock conflict occurs. This value applies to all conflicts that occur while using SQL applications. The default value is five seconds.
Note: Progress Software Corporation recommends changing the value of Lock Wait Timeout( -SQLLockWaitTimeout) if your installation encounters a lot of conflicts.
Server-side JOIN -ssj Use this parameter to indicate if the database server will process Server-side JOIN requests from remote clients.
Threaded Server -threadedServer Use this parameter to indicate a server or servers spawned by the broker uses threads, one per remote client. The default is enabled.
Threaded Server Stack -threadedServerStack Use this parameter to specify the size of a stack allocated for each thread spawned by a threaded server.

Startup parameters -SQLEnableCoreGeneration and -SQLFailureDrivenLog can be changed with the database is in use.

1 UNIX only.