IBM Support

ClientEventQueue properties to help with latency issues in Maximo

Technical Blog Post


Abstract

ClientEventQueue properties to help with latency issues in Maximo

Body

A latency issue has been identified where after de-selecting the YORN flag. It takes approximately 10 seconds for a conditional Expression to be executed and the field settings to be updated on screen. This issue also occurs in other applications like Assets, Automationsscript application Out of the Box.


For ex. to Test in Automationsscript application: 

 1. Open an existing automation script in development 
 2. Click the launch points tab Click the launch point 
 3. In the events section - choose save and observe the time it takes for the add, update & delete options to become editable. 
 
To solve the latency issue, some clients changed two system properties in Maximo: 
- mxe.webclient.ClientEventQueue.threshold:  Value changed from 2 to 1 
- mxe.webclient.ClientEventQueue.timeout: Value changed from 10000 to 3000 
 
The question now is: Could be there any negative impact on other system behaviour? What is the recommendation of IBM regarding both system properties?
 

There are two options to mitigate the latency in validation. Users input would be buffered on browser and wait till eventqueue timeout or user click save button.

That is why customers can change the default value in mxe.webclient.ClientEventQueue.timeout property.

The properties in question are: 
mxe.webclient.ClientEventQueue.timeout 
mxe.webclient.ClientEventQueue.threshold 

 

As for the effect Of Setting mxe.webclient.ClientEventQueue.timeout Global System Property to a value too low, in order to reduce latency, some clients decide to enable the "Always Synchronous" property for the specific fields, and observed that the user is interrupted with a pop up if an invalid value is entered. 

 

This was expected due to the async validation bypassing the data roundtrip to the database server;  the downside is that you will get the popup for invalid value. 

 

The clients then adjusted the property for delay by updating the Global Property, mxe.webclient.ClientEventQueue.timeout.  In some cases it was set to 1000, as recommended by the Maximo developmen team.  The remaining question is what are possible effects, or "downside" to setting this property too low. 

 

The purpose of mxe.webclient.ClientEventQueue.threshold is to control the maximum number of events in the client event queue before the queue is sent to the server. The max number (default is 2) of events are buffered in browser, if this value is 1,  the queue is disabled and all events are immediately sent.

 

We were able to discuss this with the development team and the summary is that there is a risk of transactions not processing only if the timeout value is set to too low of a number.  You may need to find a good balance between reducing the latency and completing all the expected processing, considering the environment infrastructure that you have. 

 

This global system property, and others like it, are made available in Maximo to allow for performance tuning and environment-specific tuning... 

Maximo infrastructure is not capable of adjusting several performance factors to create an "across-the-board" setting that is guaranteed to be ideal in each specific environment. 

 

See ya

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSLKT6","label":"IBM Maximo Asset Management"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

UID

ibm11112643