Home    
 
Products Solutions Developers Nirvana Nirvana documentation Nirvana examples Nirvana FAQ Nirvana Archive Matrix Partners Download Company Contact
 
 

Nirvana Enterprise Manager - Realm Configuration

home > developers > nirvana

Introduction

Nirvana Realms can be configured based on a nuumber of parameters that are accessible both through the Nirvana Administration API as well as the Nirvana Enterprise Manager. Any changes made to the configuration parameters for a nirvana realm are automatically sent to the realm and implemented. This functionality offers major benefits to Administrators, since realms can be configured remotely, without the need to be anywhere near the actual realm itself. More importantly, multiple realms and clustered realms can also be automatically configured remotely.

This section will describe the different configuration parameters that are available using the Nirvana Enterprise Manager.

When you select a realm from the namespace, one of the available panels in the Enterprise Manager is labelled 'Config'. Selecting this panel displays 11 sets of configuration properties, with each set of properties relating to a specific area within the Nirvana Realm. Each set of properties contains different values for specific items. The image below shows the config panel for a selected realm within the namespace.

The 11 configuration groups are :

GlobalValues - Values specific to the realm process itself
AuditSettings - Values relating to what information is stored by the audit process
ClientTimeoutValues - Values relating to client / server interaction
ClusterConfig - Values specific to the clustering engine
EventStorage - Values specific to how events are stored and retrieved on the server
FanoutValues - Values specific to the delivery of events to clients
JVMManagement - Values relating to the JVM the Realm Server is using
JoinConfig - Values specific to channel join management
RecoveryDaemon - Values relating to clients that are in recovery (i.e. replaying large numbers of events)
TransactionManager - Values specific to the transaction engine of the RealmServer
EnvironmentConfig - Read only configuration values that relate to the system environment. These cannot be changed.

The table below describes each of the configuration groups and the items that can be changed within each group. It also shows valid ranges of values and a description of what each value actually represents.

Configuration Element Valid Paramaters Description
GlobalValues    
AllowRealmAdminFullAccess true or false Any subject with Admin ACL applied has full access to all objects within the realm
EnableDNSLookups true or false If enabled the server will attempt to perform a DNS lookup when a client connects to resolve the IP address to a hostname. In some instances this may slow down the initial connection
IdleSessionTimeout 0 to NO_LIMIT If there has been no communication from a client for the configured number of milliseconds, the client is deemed idle and is disconnected. This typically occurs when there are network issues between a client and the server
NanoDelayBase 0 to NO_LIMIT This number represents the number of nano seconds in a millisecond. Typically this is 1,000,000 however, it can be used to increase or decrease the internal delays used by Nirvana
SchedulerPoolSize 1 to 4 The number of threads assigned to the scheduler, default is 2
MaxNoOfConnections -1 to NO_LIMIT Sets the maximum concurrent connections to the server, -1 indicates no restriction, default is -1.
StatusUpdateTime 2000 to NO_LIMIT The number of ms between status events being written to disk. Status events provide a history of the realm's state, the default for this is Long.MAX_VALUE, i.e. never written to disk.
StatusBroadcast 2000 to NO_LIMIT The number of ms between status events being published. Default is 5000, i.e. every 5 seconds.
fLoggerLevel 0 to 7 The server logging level, between 0 and 7 with 0, indicating very verbose, and 7 inidicating very quiet. Default is 1.
NHPTimeout 2000 to NO_LIMIT The number of milliseconds the server will wait for client authentication. Default is 120000, i.e. 2 minutes.
NHPScanTime 5000 to NO_LIMIT The number of milliseconds that the server will wait before scanning for client timeouts. Default is 5000, i.e. 5 seconds
HandshakeTimeout 1000 to NO_LIMIT The number of milliseconds that the server will wait for the session to be established. Default is 1000, i.e. 1 second
StampDictionary true or false Place Nirvana details into the dictionary (true/false), default is false.
ExtendedMessageSelector true or false If true, allows the server to use the extended message selector syntax (true/false). Default is false.
ServerTime true or false Allow the server to send the current time to the clients (true/false). Default is true.
SecureHandshake true or false Performs a security handshake when connecting into a cluster. Default is true.
ConnectionDelay 20000 to 60000 When the server has exceeded the connection count, how long to hold on to the connection before disconnecting. Default is 60000.
SupportOlderClients true or false Allow the server to support older clients (true/false). Default is true.
SendRealmSummaryStats true or false If true sends the realms status summary updates (true/false). Default is false.
     
AuditSettings    
RealmMaintenance true or false Log to the audit file any realm maintenance activity. Default is true.
InterfaceManagement true or false Log to the audit file any interface management activity. Default is true.
ChannelMaintenance true or false Log to the audit file any channel maintenance activity. Default is false.
QueueMaintenance true or false Log to the audit file any queue maintenance activity. Default is false.
ServiceMaintenance true or false Log to the audit file any service maintenance activity. Default is true.
JoinMaintenance true or false Log to the audit file any join maintenance activity. Default is true.
RealmSuccess true or false Log to the audit file any successful realm interacttions. Default is false.
ChannelSuccess true or false Log to the audit file any successful channel interactions. Default is false.
QueueSuccess true or false Log to the audit file any successful queue interactions. Default is false.
ServiceSuccess true or false Log to the audit file any successful realm interactions. Default is false.
JoinSuccess true or false Log to the audit file any successful join interactions. Default is false.
RealmFailure true or false Log to the audit file any unsuccessful realm interactions. Default is true.
ChannelFailure true or false Log to the audit file any unsuccessful channel interacttions. Default is true.
QueueFailure true or false Log to the audit file any unsuccessful queue interactions. Default is true.
ServiceFailure true or false Log to the audit file any unsuccessful service interactions. Default is true.
JoinFailure true or false Log to the audit file any unsuccessful join interactions. Default is true.
RealmACL true or false Log to the audit file any unsuccessful realm acl interactions. Default is true.
ChannelACL true or false Log to the audit file any unsuccessful channel acl interactions. Default is true.
QueueACL true or false Log to the audit file any unsuccessful queue acl interactions. Default is true.
ServiceACL true or false Log to the audit file any unsuccessful service acl interactions. Default is true.
     
ClientTimeoutValues    
EventTimeout 5000 to NO_LIMIT The amount of ms the client will wait for a response from the server. Default is 60000.
TransactionLifeTime 1000 to NO_LIMIT The default amount of time a transaction is valid before being removed from the tx store. Default is 20000.
LowWaterMark 1 to NO_LIMIT The low water mark for the connection internal queue. When this value is reached the outbound internal queue will again be ready to push event to the server. Default is 50.
HighWaterMark 2 to NO_LIMIT The high water mark for the connection internal queue. When this value is reached the internal queue is temporarily suspended and unable to send events to the server. This provides flow control between publisher and server. Default is 200.
QueueBlockLimit 500 to NO_LIMIT The maximum number of milliseconds a queue will have reached HWM before notifying listeners, Default is 500.
QueueAccessWaitLimit 200 to NO_LIMIT The maximum number of milliseconds it should take to gain access to a queue to push events before notifying listeners. Default is 200
QueuePushWaitLimit 200 to NO_LIMIT The maximum number of milliseconds it should take to gain access to a queue and to push events before notifying listeners. Default is 200.
     
ClusterConfig    
BufferSize 1400 to 18000 Size in bytes of the inter realm buffer to use
ClientQueueSize 10 to 1000 Size of the client request queue
ClientQueueWindow 10 to 1000 The number of events sent to an async queue reader before the realm will commit
DisconnectWait 1000 to 120000 Time to wait for the node to form in the cluster
DisconnectWhenNotReady true or false If the cluster is not formed this property defines wether or not the client gets sent a disconnect.
FastSlaveMode true or false Put a realm into slave mode while still recovering
FilterEventsDuringRecovery true or false Only Applicable to JMS Engine Channels. Defines if we recover events that have already been consumed.
HeartBeatInterval 1000 to 120000 Heart Beat interval in milliseconds. Default is 120000.
InitialConnectionTimeout 0 to NO_LIMIT The number of milliseconds that the server will wait while trying to establish a connection to a peer
IsCommittedDelay 0 to NO_LIMIT When a slave processes a IsCommitted request and it is still recoverying the Transaction store, it will block the clients request for this timeout period
MasterVoteDelay 0 to NO_LIMIT When a node has requested to be master it will wait this timeout period in milliseconds for the peers to agree
MasterWaitTimeout 0 to NO_LIMIT When the master is lost from the cluster and the remaining peers detect that the master has the latest state they will wait for this time period for the master to reconnect. If the master fails to reconnect in this time period a new master is elected
QueueSize 0 to NO_LIMIT Number of events outstanding to be processed by the clusters internal queue before sending flow control requests back
SecureHandshake true or false If true, when peers connect they will peform a secure handshake to ensure the connection is valid. This is the prefered and secure option. Disabling this would only be recommended in debug mode
SeperateLog true or false Create a seperate log file for cluster events. Default is false.
StateChangeScan 0 to NO_LIMIT When a realm loses master or slave state then after this timeout all cluster based connections will be disconnected. If the realm reenters the cluster then the disconnect timeout is aborted
SyncPingSize 0 to NO_LIMIT Number of events sent before a cluster sync occurs
     
CommsConfig    
EstablishmentTime 0 to NO_LIMIT Time for an inter realm link to be initially established
MaximumReconnectTime 0 to NO_LIMIT The maximum number of milliseconds to wait before trying to reestablish a connection
MinimumReconnectTime 0 to NO_LIMIT The minimum time to wait before establishing a connection
Timeout 0 to NO_LIMIT If no events received within this time limit the link is assumed dead and will be closed
WriteDelayOnFail true or false If true the comms will wait for the link to re establish
WriteDelayTimeout 0 to NO_LIMIT The maximum time to wait in a write of the link has dropped
     
EnvironmentConfig    
JavaVendor READ ONLY Vendor of Java Virtual Machine
JavaVersion READ ONLY Virtual Machine Version
NanosecondSupport READ ONLY Nano second support available through JVM on Native OS
OSArchitecture READ ONLY Operating System Architecture
OSName READ ONLY Operating System Name
OSVersion READ ONLY Operating System Version
ServerBuildDate READ ONLY Nirvana Server Build Date
ServerBuildNumber READ ONLY Nirvana Server Build Number
ServerVersion READ ONLY Nirvana Server Build Version
TimerAdjust READ ONLY The size of the Operating Systems quatum
     
EventStorage    
JMSEngineAutoPurgeTime 0 to NO_LIMIT Defines the interval between clean up of JMS Engine resources
PageSize 0 to NO_LIMIT  
CacheAge 1000 to NO_LIMIT The time in ms that cached events will be kept in memory for. Default is 86400000.
ThreadPoolSize 1 to 4 The number of threads allocated to perform the management task on the channels. Default is 1.
ActiveDelay 100 to NO_LIMIT The time in milliseconds that an active channel will delay between scans. Default is 1000.
IdleDelay 5000 to NO_LIMIT The time in milliseconds that an idle channel will delay between scans. Default is 60000.
     
FanoutValues    
BufferQueueSize 10 to 1000 Number of buffers to queue before we stop reading from the socket
ConcurrentUser 1 to NO_LIMIT The number of client threads allowed to execute concurrently in the server. Default is 5.
EnableDirectWrite True or False If true the output will written by the fan out thread else it will be queued for later delivery
MaximumDelayInWrite 2 to 5000 The number of milliseconds an event will wait in a queue before it will be processed
PeakPublishDelay 0 to No Max When clients start to hit high water mark how long to delay the publisher to allow the client time to catch up
ReadCount 1 to 20 Number of times the thread will loop around waiting for an event to be delivered before returning
SendPubEventsImmediatley true or false Send publish events immediately
whEventThresholdCount 10 to !000 Number of events to exceed in the whEventThresholdTime to detect a peak
whEventThresholdTime 10 to 1000 Number of milliseconds to sample the event rate to detect peaks
whMaxEventsBeforeFlush 10 to 10000 Total number of events that can be sent before a flush must be done
whMaxTimeBetweenFlush 2 to 1000 Total number of milliseconds to wait before a flush is done
whPeakTrailDelay 100 to 5000 When a peak is detected how long to stay in this state before returning to normal
KeepAlive 5000 to NO_LIMIT The number of milliseconds between the server will wait before sending a heartbeat. Default is 60000.
QueueHighWaterMark 2 to NO_LIMIT The number of events in a client output queue before the server stops sending events. Default is 100.
QueueLowWaterMark 1 to NO_LIMIT The number of events in the clients queue before the server resumes sending events. Default is 50.
MaxBufferSize 1024 to NO_LIMIT The maximum buffer size that the server will accept. Default is 1048576.
OutputBlockSize 100 to NO_LIMIT The size of the output block size. Default is 1400.
PublishDelay 0 to NO_LIMIT How long to delay the publisher when subscribers queue start to fill, in milliseconds. Default is 10.
RoundRobinDelivery true or false Use a round robin approach to event delivery (true/false). Default is false.
PublishExpiredEvents true or false Publish expired events at server startup (true/false). Default is true.
     
JVMManagement    
AutoThreadDumpOnExit true or false Defines if a thread dump is produced when the server exits.
IORetryCount 2 to 100 Number of times an file I/O operation will be attempted before aborting
IOSleepTime 100 to 60000 Time between disk I/O operations if it fails
JMXRMIServerURLString String JNDI Lookup URL for the JMX Server to use, Please refer to sun for more documentation of this URL
MemoryMonitoring 60 to 30000 Number of milliseconds between monitoing memory usage on the realm. Default is 100.
WarningThreashold 70 to 95 The memory threshold when the server starts to scan for objects to release. Default is 85, i.e. 85%.
EmergencyThreshold 80 to 99 The memory threshold when the server starts to agressively scan for objects to release. Default is 94, i.e. 94%
ExitOnMemoryError true or false If true, the server will exit if it gets an out of memory exception. Default is true.
ExitOnDiskIOError true or false If true, the server will exit if it gets a I/O Exception. Default is true
     
JoinConfig    
UseQueuedLocalJoinHandler True or false Specifies whether to use a queued join event handler. True will enable source channels and destination channels to be process events independently
MaxEventsPerSchedule 1 to NO_LIMIT Number of events that will be sent to the remote server in one run. Default is 50.
MaxQueueSizeToUse 1 to NO_LIMIT The maximum events that will be queued on behalf of the remote server. Default is 100.
ActiveThreadPoolSize 1 to NO_LIMIT The number of threads to be assigned for the join recovery. Default is 2.
IdleThreadPoolSize 1 to NO_LIMIT The number of threads to manage the idle and reconnection to remote servers. Default is 1.
     
PluginConfig    
EnableAccessLog true or false Defines if plugin access log produced
EnableErrorLog true or false Defines if plugin error log produced
EnablePluginLog true or false Defines if plugin status log produced
MaxNumberOfPluginThreads 10 to 10000 Maximum number of threads to allocate to the plugin manager
PluginTimeout 1000 to 30000; Time in milliseconds that the plugin will read from a client
     
RecoveryDaemon    
ThreadPool 1 to NO_LIMIT Number of threads to use for client recovery. Default is 4.
EventsPerBlock 1 to NO_LIMIT The number of events to send in one block. Default is 500.
     
ThreadPool    
AllowBufferReuse true or false If set to true then buffers will be allocated from the buffer pool and once finished with returned to the pool. If set to false then buffers are allocated on the fly and then left for the system to free them. It is best to leave this set to true.
BufferPoolSize 5 to 5000 The underlying nirvana IO utilizes buffers from a pool. By default we preload the pool with this number of buffers. As the reads/writes require buffers they are allocated from this pool, then once used are cleared and returned. If the size is too small we end up creating and destroying buffers, if too large we have a pool of buffers which are not used taking up memory.
BufferSize 1024 to 20480 This specifies the default size of the buffers that nirvana uses for its IO. If small then nirvana will require more to send an event. If too large they take up memory. The size would be best to be about 40% more than the average client event or 5K whichever is largest.
EnableConnectionThreadPooling True or False If true then if NIO is available it will be available for interfaces to use it and then all reads/writes will be done via the Read/Write thread pools. If NIO is not available then a limited used write thread pool is used.
MaxWriteCount 5 to 100; When writing many events to a client the write pool thread may continue to send the events before returning to the pool to process other clients requests. So, for example if its set to 5, then the thread will send 5 events from the clients queue to the client before returning to the pool to process another request.
ReadThreadPoolMaxSize 4 to No Max The maximum number of threads that will be allocated to the read pool. If NIO is not available this should be set to the maximum number of clients that is expected to connect. If NIO is available then this number would be best to keep under 20.
ReadThreadPoolMinSize 10 to No Max This is the number of threads that will always be present in the read thread pool. If this is too small then the thread pool will be requesting new threads from the idle queue more often.
ThreadIdleQueueSize 5 to 50 When threads are released from various pools since they no longer need them they end up in the idle queue. If this idle queue exceeds this number the threads are destroyed. By specifying this number to be large enough to accommodate enough idle threads so that if any thread pool requires to expand then they can be reused./td>
WriteThreadPoolMaxSize 5 to No Max The maximum number of threads that will be allocated to the write pool. If NIO is not available this should be set to the maximum number of clients that is expected to connect. If NIO is available then this number would be best to keep under 20.
WriteThreadPoolMinSize 5 to No Max This is the number of threads that will always be present in the write thread pool. If this is too small then the thread pool will be requesting new threads from the idle queue more often.
     
TransactionManager    
MaxTransactionTime 1000 to NO_LIMIT Time in milliseconds that a transaction will be kept active. Default is 86400000.
MaxEventsPerTransaction 0 to NO_LIMIT The maximum number of events per transaction, a 0 indicates no limit. Default is 0.
TTLThreshold 1000 to 60000 The minimum time in milliseconds, below which the server will not store the Transaction ID. Default is 1000.

Double-clicking on the item you wish to modify in the configuration group will provide you with a dialog window where the new valule can be entered. Configuration items will be validated to check whether they are within the correct range of values. If you enter an incorrect value you will be notified.

 
   
© 2001-2008 my-channels.com. (Terms of Use)