NonStop Software

NonStop TS/MP Performance Considerations

Previous Topic | Next Topic | Contents | Index
Getting Started Guide | Programmer's Guide | Reference Guide

Subtopics

Configuring Dynamic Versus Static Application Server Processes
Balancing Client Request Load Across Comm Server Processes
Using Stateful Versus Stateless Server Processes

This topic discusses the following factors that affect system performance:

Configuring Dynamic Versus Static Application Server Processes

When you issue a PATHCOM START SERVER command for an application server pool, the PATHMON process starts the number of application server processes in that pool equal to the number of static servers defined for the pool. The number of static servers is defined by the NUMSTATIC attribute of the SET SERVER command.

Another type of server process–a dynamic server process–does not require the START SERVER command to be started. Instead, a dynamic server process is started dynamically by the PATHMON process if a static server process has not become available to the LINKMON process within a specific time period. (The time period is determined by the CREATEDELAY attribute for the server pool.) The potential number of dynamic server processes that can be started for a server pool is equal to the difference between the values of the MAXSERVERS and NUMSTATIC attributes of the SET SERVER command, as described in the NonStop TS/MP System Management Manual.

A dynamic server process runs as long as the LINKMON process communicates with it. The PATHMON process deletes unused dynamic server processes based on the time limit defined by the server pool DELETEDELAY attribute.

You may experience some performance degradation if you configure your application to include numerous dynamic servers, because these processes incur a startup penalty as part of the transaction path. If high system performance is required, do not use dynamic server processes.


Note: The server pool for the Comm Server cannot include dynamic server processes. In the NonStop TS/MP configuration for these system processes, the value for the MAXSERVERS attribute always equals the value for the NUMSTATIC attribute.


Balancing Client Request Load Across Comm Server Processes

In a typical NonStop TS/MP application, the PATHMON process provides load-balancing capabilities. That is, when a client makes a request against a server pool, the PATHMON process determines whether a link is available to a currently running server process. If none is available, the PATHMON process starts a dynamic server process to handle the request, as described earlier.

The PATHMON process does not, however, provide load-balancing services for the LSD and Comm Server components of the NonStop DOM system. Instead, the assignments that ultimately associate a given Comm Server process with a client request are either fixed during configuration or dynamically allocated by the LSD.

As system administrator, you configure the static associations in the configuration file between Comm Server processes and remote hosts. Subsequently, all requests originating from a given remote host are routed to the Comm Server you configure to be associated with that host. Thus, you must estimate your static application load distribution before configuring the NonStop DOM system components.

If, after your system goes into production, the client request load is distributed differently than you projected, users of one or more client applications may experience poor response time. You must then reassess your static configuration and determine if you can improve application performance by redistributing the associations between Comm Server processes and remote hosts.

Using Stateful Versus Stateless Server Processes

NonStop DOM application server pools can be implemented with either stateless or stateful processes. A stateless object does not retain state information from one request to the next. When server objects are stateless, incoming requests can be assigned to any free server process in the pool. Requests for the same object can be handled by a different server process on each invocation.

In some cases, server objects must retain state information, as when a process must retain cursor position between NonStop SQL query requests. For a stateful server object, the NonStop DOM system establishes a file-system connection between the client and server process. The connection persists until the client deletes the server object instance.


Previous Topic | Next Topic | Contents | Top
Getting Started Guide | Programmer's Guide | Reference Guide
Bibliography | Glossary | Index
© Tandem, a division of Compaq. All rights reserved. Legal notices.