The orb.properties file is used to pass the properties that are used by the Object Request Broker (ORB) to modify the transport behavior of the grid.
com.ibm.CORBA.RequestTimeout=30 com.ibm.CORBA.ConnectTimeout=10 com.ibm.CORBA.FragmentTimeout=30 com.ibm.CORBA.ThreadPool.MinimumSize=256 com.ibm.CORBA.ThreadPool.MaximumSize=256 com.ibm.CORBA.ThreadPool.IsGrowable=false com.ibm.CORBA.ConnectionMultiplicity=1 com.ibm.CORBA.MinOpenConnections=1024 com.ibm.CORBA.MaxOpenConnections=1024 com.ibm.CORBA.ServerSocketQueueDepth=1024 com.ibm.CORBA.FragmentSize=0 com.ibm.CORBA.iiop.NoLocalCopies=true com.ibm.CORBA.NoLocalInterceptors=true
Timeout Settings
The following settings relate to the amount of time that the ORB waits before giving up on request operations.
Property name: com.ibm.CORBA.RequestTimeout
Value: Integer value for number of seconds.
Description: Indicates how many seconds any request should wait for a response before giving up. This property influences the amount of time a client takes to fail over if a network outage failure occurs. If you set this property too low, requests might time out inadvertently. Carefully consider the value of this property to prevent inadvertent time-outs.
Property name: com.ibm.CORBA.ConnectTimeout
Value: Integer value for number of seconds.
Description: Indicates how many seconds a socket connection attempt should wait before giving up. This property, like the request timeout, can influence the time a client takes to fail over if a network outage failure occurs. In general, set this property to a smaller value than the request timeout value because the amount of time to establish a connections should be relatively constant.
Property name: com.ibm.CORBA.FragmentTimeout
Value: Integer value for number of seconds.
Description: Indicates how many seconds a fragment request should wait before giving up. This property is similar to the request timeout property.
Thread Pool Settings
These properties constrain the thread pool size to a specific number of threads. The threads are used by the ORB to spin off the server requests after they are received on the socket. Setting these property values too low results in an increased socket queue depth and possibly time-outs.
Property name: com.ibm.CORBA.ConnectionMultiplicity
Value: Integer value for the number of connections between the client and server. The default value is 1. Setting a larger value sets multiplexing across multiple connections.
Description: Allows the ORB to use multiple connections to any server. In theory, setting this value should promote parallelism over the connections. In practice, performance does not benefit from setting the connection multiplicity. Do not set this parameter.Property names: com.ibm.CORBA.MinOpenConnections, com.ibm.CORBA.MaxOpenConnections
Value: An integer value for the number of connections.
Description: Specifies a minimum and maximum number of open connections. The ORB keeps a cache of connections that have been established with clients. These connections are purged when the com.ibm.CORBA.MaxOpenConnections value is passed. Purging connections might cause poor behavior in the grid.Property name: com.ibm.CORBA.ThreadPool.IsGrowable
Value: Boolean; set to true or false.
Description: If enabled, allows the thread pool that the ORB uses for incoming requests to grow beyond what the pool supports. If the pool size is exceeded, new threads are created to handle the request but the threads are not pooled.Property name: com.ibm.CORBA.ServerSocketQueueDepth
Value: An integer value for the number of connections.
Description: Specifies the length of the queue for incoming connections from clients. The ORB queues incoming connections from clients. If the queue is full, then connections are refused. Refusing connections might cause poor behavior in the grid.Property name: com.ibm.CORBA.FragmentSize
Value: An integer number that specifies the number of bytes. The default is 1024.
Description: Specifies the maximum packet size that the ORB uses when sending a request. If a request is larger than the fragment size limit, then that request is divided into request fragments that are each sent separately and reassembled on the server. Fragmenting requests is helpful on unreliable networks where packets might need to be resent. However, if the network is reliable, dividing the requests into fragments might cause overhead.Property name: com.ibm.CORBA.iiop.NoLocalCopies
Value: Boolean; set to true or false.
Description: Specifies whether the ORB passes by reference. The ORB uses pass by value invocation by default. Pass by value invocation causes extra garbage and serialization costs to the path when an interface is invoked locally. By setting this value to true, the ORB uses a pass by reference method that is more efficient than pass by value invocation.Property name: com.ibm.CORBA.NoLocalInterceptors
Value: Boolean; set to true or false.
Description: Specifies whether the ORB invokes request interceptors even when making local requests (intra-process). The interceptors that WebSphere eXtreme Scale uses are for security and route handling, which are not required if the request is handled the process in which it is running. Interceptors that go between processes are only required for Remote Procedure Call (RPC) operations. By setting the no local interceptors, you can avoid the extra overhead that using local interceptors introduces.