Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Performance Tuning Guide

- Previous: Thread Pool Sizing
- Next: Improving ORB Performance with Java Serialization

## Examining IIOP Messages

It is sometimes useful to examine the IIOP messages passed by the Application Server. To make the server save IIOP messages to the `server.log` file, set the JVM option `-Dcom.sun.CORBA.ORBDebug=giop`. Use the same option on the client ORB.

The following is an example of IIOP messages saved to the server log. Note: in the actual output, each line is preceded by the timestamp, such as `[29/Aug/2002:22:41:43] INFO (27179): CORE3282: stdout`.

     ++++++++++++++++++++++++++++++
     Message(Thread[ORB Client-side Reader, conn to 192.18.80.118:1050,5,main]):
    createFromStream: type is 4 <
     MessageBase(Thread[ORB Client-side Reader, conn to 192.18.80.118:1050,5,main]):
    Message GIOP version: 1.2
     MessageBase(Thread[ORB Client-side Reader, conn to 192.18.80.118:1050,5,main]):
    ORB Max GIOP Version: 1.2
     Message(Thread[ORB Client-side Reader, conn to 192.18.80.118:1050,5,main]):
    createFromStream: message construction complete.
     com.sun.corba.ee.internal.iiop.MessageMediator
    (Thread[ORB Client-side Reader, conn to 192.18.80.118:1050,5,main]): Received message:
     ----- Input Buffer -----
     Current index: 0
     Total length : 340
     47 49 4f 50 01 02 00 04 0 0 00 01 48 00 00 00 05 GIOP.......H....

Note –

The flag `-Dcom.sun.CORBA.ORBdebug=giop` generates many debug messages in the logs. This is used only when you suspect message fragmentation.

In this sample output above, the `createFromStream` type is shown as 4. This implies that the message is a fragment of a bigger message. To avoid fragmented messages, increase the fragment size. Larger fragments mean that messages are sent as one unit and not as fragments, saving the overhead of multiple messages and corresponding processing at the receiving end to piece the messages together.

If most messages being sent in the application are fragmented, increasing the fragment size is likely to improve efficiency. On the other hand, if only a few messages are fragmented, it might be more efficient to have a lower fragment size that requires smaller buffers for writing messages.

- Previous: Thread Pool Sizing
- Next: Improving ORB Performance with Java Serialization

- © 2010, Oracle Corporation and/or its affiliates