Manual adjustment of the multiprogramming level

You can adjust a network server's multiprogramming level manually. However, if auto tuning of the multiprogramming level is enabled, then the server may re-adjust the multiprogramming level automatically sometime after the manual setting. If you lower the multiprogramming level, the new setting may not take effect immediately, as the server may have to wait for active tasks to complete before the new multiprogramming level can take effect. If you attempt to set the multiprogramming level to a value outside the lower and upper bounds as specified by the MinMultiProgrammingLevel and MaxMultiProgrammingLevel settings, then an error will be returned.

You can disable automatic multiprogramming level tuning either when you start the database server or when the database server is running:

  • Disabling automatic multiprogramming tuning at server startup   When you start the network database server, specify -gna 0 to disable automatic tuning of the multiprogramming level:
    dbsrv12 -gna 0 ...

    You can change the default multiprogramming level using the -gn option, and set the minimum and maximum values using the -gnl and -gnh options, respectively.

  • Disabling automatic multiprogramming tuning of a running server   If the network database server is already running, execute the following SQL statement to disable automatic tuning of the multiprogramming level:
    CALL sa_server_option ( 'AutoMultiProgrammingLevel', 'NO' );

    You can set the minimum and maximum values using the MinMultiProgrammingLevel and MaxMultiProgrammingLevel properties, respectively. For example:

    CALL sa_server_option ( 'MinMultiProgrammingLevel', 10 );
    CALL sa_server_option ( 'MaxMultiProgrammingLevel', 100 );

    You can set the current multiprogramming level using the CurrentMultiProgrammingLevel property as follows:

    CALL sa_server_option ( 'CurrentMultiProgrammingLevel', 25 );

 See also