Optimizing for Large Numbers of Users

Adjust the startup parameters for large numbers of users.

Sever Startup Options

Parameter

Description

-gm

Sets the default number of connections. Usage:
-gm #_connections_to_support

Although this represents the total number of connections the server will support, not all connections will be active at any one time.

-iqgovern

Places a ceiling on the maximum number of queries to execute at once. If more users than the -iqgovern limit have submitted queries, new queries will be queued until one of the active queries is finished. Usage:
-iqgovern #_ ACTIVE_ queries_to_support

The optimal value for -iqgovern depends on the nature of your queries, number of CPUs, and size of the buffer cache. The default value is 2*numCPU + 10. With a large number of connected users, you may find that setting this option to 2*numCPU + 4 provides better throughput.

-gn

Sets the number of execution threads for the catalog store and connectivity while running with multiple users. Usage:
-gn number of tasks (both user
and system requests) that the database server can execute concurrently

The correct value for -gn depends on the value of -gm. The start_iq utility calculates -gn and sets it appropriately. Setting -gn too low can prevent the server from operating correctly. Setting -gn above 480 is not recommended.

-c

Sets the catalog store cache size. Usage:
-c catalog_store_cache_size

The catalog cache size is highly dependent on schema size and the number of objects. The catalog store buffer cache is also the general memory pool for the catalog store. To specify in MB, use the form -c nM, for example, -c 64M.

For up to 1000 users, set -c to 16MB or higher. For up to 2000 users, set -c to 48MB (default).

-cl and -ch

Set upper (-ch) and lower (-cl) limits for the catalog store cache size. -cl minimum cache size -ch maximum cache size. If the standard catalog cache size is too small, set -cl and -ch parameters.

Do not use -c in the same configuration file or command line with -ch or -cl. For related information, see the -ch cache-size option.

-iqmt

Sets the number of processing threads. If -iqmt is set too low for the -gm setting, then thread starvation can occur.

Note: To control catalog store cache size explicitly, you must do either of the following, but not both, in your configuration file (.cfg) or on the command line for server startup:
Related concepts
Optimizing for Typical Usage
Restricting Concurrent Queries
Limiting Query Temp Space
Limiting Queries by Rows Returned
Forcing Cursors to be Non-Scrolling
Limiting the Number of Cursors
Limiting the Number of Statements
Prefetching Cache Pages
Controlling the Number of Prefetched Rows
Controlling File System Buffering
Optimizing the Cache Partitions