Consultor Eletrônico



Kbase 20431: SQLREUSE Environment Variable for Improving Performance of SQL-92 Engine
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   5/13/2010
Status: Verified

GOAL:

How to improve performance of the SQL-92 engine using the environment variable SQLREUSE that was introduced in Progress 9.1B

GOAL:

How to improve performance of the SQL-92 queries in Progress 9.1x

FACT(s) (Environment):

All Supported Operating Systems
Progress 9.1B
Progress 9.1C
Progress 9.1D

FIX:

Prior to Progress 9.1B, a new _sqlsrv2 process is started for every SQL-92 connection and exits when the client connection is closed.

Starting with Progress 9.1B, the _sqlsrv2 processes do not exit when the client connection is closed. Instead, an idle _sqlsrv2 process can accept a new connection. This is not a bug, it is deliberate. It eliminates the overhead of starting a new process for every connection. This is the same behavior as the servers for 4GL clients have always had, except they support multiple clients.

By disabling SQLREUSE, the _sqlsrv2 process will exit when the connection is closed or after a certain number of connections.

The syntax for setting the SQLREUSE environment variable to reuse SQL-92 servers is (please note that reusing servers is the default setting):

- On Windows NT:


set SQLREUSE=on - On UNIX:


SQLREUSE=on; export SQLREUSE The syntax for setting the SQLREUSE environment variable to not reuse SQL-92 servers is:

- On Windows NT:


set SQLREUSE=false - On UNIX:


SQLREUSE=false; export SQLREUSE The syntax for setting the SQLREUSE environment variable to reuse SQL-92 servers a specific number of times is:

- On Windows NT:


set SQLREUSE=n - On UNIX:


SQLREUSE=n; export SQLREUSE Restart database server after this environment variable is set. The AdminService and ProService services also need to be restarted if the database is being started through either one of them.

Beginning in Progress 9.1D, the SQL-92 Server has been modified to be multi-threaded so the SQLREUSE option is no longer available.