CORBA 2.3.3 Programmer's Guide for Java
Interoperability. For example, ensuring that a client developed on some other platform can
interact with NonStop CORBA servers.
●
Tuning Applications for Performance
The following sections provide some performance tuning suggestions for NonStop CORBA applications.
Choosing the Most Efficient Transport Protocol
For remote object references, the IIOP protocol (which uses TCP/IP) must be used for transport.
However, for local object references, NonStop CORBA provides two proprietary transport protocols that
can improve application performance:
GIOP over TS/MP, which addresses a stateless object through a server pool.●
GIOP over the Guardian file system, which uses Guardian file-system addressing to access a
specific instance of an object (that is, a stateful object). Guardian file-system addressing uses a
process name to specify a particular server process.
●
For object references that will always be local, Compaq recommends the use of GIOP over TS/MP
wherever possible, since this protocol also provides the availability, scalability, and load-balancing
advantages of server pools. For local object references where GIOP over TS/MP cannot be used,
Compaq recommends using GIOP over the Guardian file system.
In addition to local object references, you can also use GIOP over TS/MP and GIOP over the Guardian
file system for references to NonStop CORBA objects on other NonStop Himalaya systems that can be
reached through the Expand network. In some cases, these two protocols may provide an improvement in
performance compared to IIOP over TCP/IP; however, the comparative performance in such cases
depends on the application and the network configuration.
GIOP over TS/MP is configured by using an application profile that sets tsmp_server to TRUE.
GIOP over the Guardian file system is configured by using an application profile that sets fs_server
to TRUE. For further information about configuring these two protocols, refer to Application Profiles:
Configuring and Managing an Application.
Taking Advantage of Concurrency
If your application has the potential for concurrency (that is, it includes thread-blocking operations but
not process-blocking operations), you may be able to use multithreading to reduce the number of
processes required to handle a given workload. For details, refer to Writing Multithreaded Applications.
If your application performs process-blocking operations, you can take advantage of process concurrency
by using server pools.