WebSphere eXtreme Scale Administration Guide > Configure WebSphere eXtreme Scale > Properties file reference
ORB properties file
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.
Location
The orb.properties file is in the java/jre/lib directory. When you modify the file in a WebSphere Application Server java/jre/lib directory, the application servers that are configured under that installation also use the settings from the file.
Baseline settings
The following settings are a good baseline but not necessarily the best settings for every environment. You should understand the settings to help make a good decision on what values are appropriate in the environment.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
Property descriptions
Timeout SettingsThe following settings relate to the amount of time that the ORB waits before giving up on request operations.
- Request timeout
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.- Connect timeout
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.- Fragment timeout
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 SettingsThese 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.
When to enforce transport security between ObjectGrid clients and servers, you have to add more properties to the orb.properties file. For more information about these properties, see the section about the orb.properties file for transport security support in Transport layer security and secure sockets layer.
- Connection multiplicity
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.- Open connections
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.- Is Growable
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.- Server socket queue depth
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.- Fragment size
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.- No local copies
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.- No Local Interceptors
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 are not required if the request is handled within the process. 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.Attention: If you have WebSphere eXtreme Scale security enabled, set the com.ibm.CORBA.NoLocalInterceptors property value to false. The security infrastructure uses interceptors for authentication.
Parent topic
Properties file reference
Related concepts
Transport layer security and secure sockets layer
Related tasks
Configure a custom Object Request Broker
Use the Object Request Broker with stand-alone WebSphere eXtreme Scale processes
Related reference
Object Request Broker custom properties