Performance

Adding an extra tier of processing in any environment adds overhead between the client connections and Adaptive Server. When establishing a connection, the connect time is essentially doubled, as the connection must first be established to OpenSwitch, which in turn establishes a connection to the remote Adaptive Server. This may cause performance difficulties for applications that require the ability to rapidly create and destroy connections. However, under many circumstances, you can address this issue using connection caching. See “Connection pools and caching”.

Additionally, OpenSwitch must closely monitor all traffic passing between the Adaptive Server and the client connection to detect connection context information such as current database context and transaction state, which have an impact on performance, especially when large result sets are involved.

When you run OpenSwitch in full pass-through mode, it creates a pipeline for the requests from the clients to reach the server, and the results from the server to reach the client, without monitoring and processing each individual request and result. This reduces the overhead introduced by OpenSwitch in both directions, and can improve performance significantly. However, it comes at the loss of the ability to perform context failover (specifically, preserving connection state information, especially database context) when a server failure occurs, so it is only recommended for special cases where context failovers are not needed and failovers need not be seamless.

NoteSee “[CONFIG]” to configure “full pass-thru mode” using the FULL_PASSTHRU OpenSwitch configuration parameter.