The following start_iq switches affect operations with large numbers of users:
-gm #_connections_to_support
-iqgovern #_ ACTIVE_ queries_to_support
-gn #_catalog_store_front_end_threads
-c catalog_store_cache_size
-ch size
-cl size
This is the total number of connections the server will support. Statistically, some of these are expected to be connected and idle while others are connected and actively using the database.
Although 1000 users can be connected to Sybase IQ, for best throughput you should ensure that far fewer users are allowed to query at once, so that each of them has sufficient resources to be productive. The -iqgovern value 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.
The optimal value for -iqgovern depends on the nature of your queries, number of CPUs, and size of the Sybase IQ 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.
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.
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. Sybase recommends these values:
For this many users |
On these platforms |
Set -c to this minimum value or higher |
---|---|---|
up to 1000 |
64-bit only |
64MB |
up to 200 |
64-bit |
48MB (start_iq default for 64-bit); larger numbers of users may benefit from 64MB |
up to 200 |
32-bit |
32MB (start_iq default for 32-bit) |
In some cases the standard Catalog cache size may be too small, for example, to accommodate certain queries that need a lot of parsing. In these cases, you may find it helpful to set -cl and -ch. For example, on 32-bit platforms, try these settings
-cl 128M -ch 256M
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.
WARNING! 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 UNIX command line for server startup:
Set the -c parameter
Set specific upper and lower limits for the catalog store cache size using the -ch and -cl parameters
Specifying different combinations of the parameters above can produce unexpected results.
You may need to increase -iqmt if your machine has many CPU cores to prevent thread starvation. If -iqmt is set too low for the number of specified connections, the number of threads will be increased to handle the number of requested connections. That is, -gm overrides -iqmt. However, if the number of Sybase IQ threads is elevated by means of the -iqmt option then that factor needs to be used in setting limits, as described in “Setting operating system parameters for large numbers of users.”