beautypg.com

Nsasj server internals, Nsasj server and ji – HP Integrity NonStop H-Series User Manual

Page 95

background image

NOTE:

If the size of the data exchanged between the client and server exceeds the

send and receive buffer sizes (see SO_SNDBUF and SO_RCVBUF in the API doc for
java.nio.channels.SocketChannel

), the number of I/Os also increase as the

data is sent in chunks of size defined by the buffer sizes. An EJB client can set the buffer
sizes in the jboss-ejb-client.properties file using the
org.xnio.Options.RECEIVE_BUFFER

and org.xnio.Options.SEND_BUFFER

options. The buffer sizes of channels created by the server can be configured in the EJB3
subsystem configuration. For more information, see

“Configuring NSASJ” (page 43)

.

FILE entity
For every client connection, the Post Master creates a JI connection to the NSASJ server class.
As part of the JI connection creation, the JI library opens the server process with a file name
with qualifier-1 of the format B[0-9]* and qualifier-2 with the value S2C. The Post
Master keeps the server open for the full duration of the connection. All such opens can be
listed with the MEASCOM command list file $*.*.S2C. The FILE entity also indicates
the duration for which the FILE is kept open. This indicates the duration for which the JI
connection (and hence the client connection) is kept open.
Extending the concept explained above, the FILE entity can also be used to determine how
the connections are distributed across the NSASJ serverclass instances.

DELETE-OR-WRITEREADS: This counter indicates the number of I/O done on the S2C channel
of a JI connection. This number gives a good indication of the activity, which indicates the
remote server invocations, happening on each connection.

NSASJ Server internals

The NSASJ Server is the core component of an NSASJ installation. This contains the JBoss AS JEE
container. The NSASJ Server is configured as a TS/MP serverclass with the Post Master acting as
the Pathsend client for this serverclass.

NSASJ Server and JI

NSASJ is configured to use JI on ports on which it services business requests. The http, https, and
remoting ports are the ones that are used to service web and EJB requests. These are configured
in domain.xml in the socket-binding-groups configuration. The JI configuration file is found
in $NSASJ/domain/configuration/ji.prop. When server sockets are configured to use JI,
$RECEIVE

is opened with a RECEIVE-DEPTH of 4000. This can be seen in the output of pstate

for any of the NSASJ Server instances. Since each JI connection results in two internal channels
being established, a RECEIVE-DEPTH of 4000 can result in a maximum of 2000 connections. This
also determines the maximum value of MAXLINKS.

As is explained in the Java Infrastructure chapter in the NSJ Programmers Guide, JI determines the
nature of a socket (JI or TCP) depending on the entries in ji.prop. JI internally invokes
InetSocketAddress.getHostName()

to resolve any IPaddress to its host name and then uses

the host name along with the port to match the entry in ji.prop to determine the nature of the
socket.

NOTE:

More information can be found in the Java Infrastructure section of the NSJ Programmers

Guide. Any change in the TCP/IP configuration, like altering the host name has an impact on the
working of JI and hence NSASJ. One way to ensure that the entries in ji.prop are current and
valid is to run the JIAssistant utility provided by JI. JIAssistant is a class that is packaged along with
JI and can be invoked from command line using the command java –cp
/jre/lib/ji.jar JIAssistant

. Running JIAssistant with the IP address and

port that is intended for use gives an output that can be used to validate the entries in the ji.prop
file.

NSASJ Server internals

95

This manual is related to the following products: