Maximo

Maximo

Come for answers, stay for best practices. All we're missing is you.

 View Only

Maximo Mobile Performance Optimization - Technician Application

By Piyush Sukhadiya posted Wed January 07, 2026 02:22 AM

  

Maximo Mobile Performance Optimization Guide - Technician Application

Overview

This comprehensive guide consolidates performance optimization strategies for Maximo Mobile, with a specific focus on the workorder API and Technician application. Performance challenges are among the most critical concerns for Maximo Mobile users, and this document provides actionable solutions to address them.

Each section below identifies specific attributes and areas that impact API or Mobile Technician Application performance, along with detailed information, recommended remedies, known defect tracking (DT) references where available, and customization or code changes that can be implemented to mitigate performance issues.

1. Doclinks Optimization

Problem Description

The doclinks relationship is the primary mechanism for managing attachments in Maximo objects such as workorder, Assets, and locations. In mobile environments, users typically do not require all attachments associated with related objects like JobPlans, SR, INCIDENT, and PROBLEM. However, the default doclinks relationship includes all of these, which can significantly impact the performance of the mxapiwodetail API.

Solution

The linked document below provides comprehensive steps to alter and optimize the doclinks relationship specifically for mobile use cases, resulting in substantial performance improvements.

2. Workorder History

Problem Description

The Technician application includes a feature that displays the last three work orders performed on the Asset and Location associated with the current work order. While this functionality provides valuable context for technicians, the underlying relationship used to retrieve these historical work orders can be computationally expensive in many Maximo environments—particularly when the WORKORDER table contains millions of records.

Solution

The blog linked below outlines strategies for optimizing this functionality to achieve significant performance improvements. It provides practical guidance on how to restructure queries and leverage best practices to minimize database overhead and improve download time in Mobile.

Known Defect: DT438297

3. Itemasset Relationship

Problem Description

An attribute existed in the Technician mobile application that caused nearly all assets to be downloaded to mobile devices. This attribute, rel.itemasset, was present under the woReservedMaterialds datasource. This issue not only impacted performance in terms of download timing but also caused the mobile application to hang and eventually crash.

Solution

This attribute has been removed from out-of-the-box (OOB) patch versions:

  • Version 9.1.4
  • Version 9.0.18
  • Version 8.7.25
  • Version 8.6.31
Action Required:
If you are using an earlier version or have customized your application, locate and remove the following line from your app.xml file:
<attribute name="rel.itemasset{assetnum, location, itemnum}" id="nz4j7"/>
After removal, verify the mxapiwodetail API timing to confirm performance improvement.

4. pluscduedate_np - Non-Persistent Attribute

Problem Description

A non-persistent attribute related to calibration functionality in the Technician application has been identified as causing API performance degradation for many users.

Solution

Known Defect: DT455130
Action Required:
If you are not utilizing calibration features in your environment, consider removing this attribute from your app.xml file and compare performance:
<attribute name="pluscduedate_np" id="qyxvq"/>

5. autolocate Attribute

Problem Description

The autolocate attribute has been identified as one of the most costly attributes to fetch along with work orders. While removing this attribute may impact Map functionality in the mobile application, it can be useful for performance investigation purposes.

Solution

Known Defect: DT444842 - Performance improvement for this attribute
Recommendation:
  • Try setting system property "mxe.map.geometry.enableautolocate" to false
  • To investigate API timing, temporarily remove this attribute and check performance
  • If the defect fix (DT444842) is not implemented in your environment, apply the changes to improve performance while retaining the attribute
  • Note that removing this attribute may break Map functionality in the mobile application

6. Page Size Configuration

Problem Description

For many users experiencing API timeout issues, adjusting page size parameters has proven to be an effective approach to improve performance.

Solution

Two key parameters control data fetching behavior:

  • download-page-size: Determines the page size for fetching records from the server during mobile download operations
  • page-size: Defines the number of records in the datasource and UI, and also controls record fetching in Role-based Applications
Recommendation:
Experiment with different page size values to find the optimal balance between performance and user experience for your specific environment and network conditions.

7. Long Description Indexes

Problem Description

For some users, database query performance related to long descriptions has been identified as a bottleneck affecting overall application performance.

Solution

Adding the following indexes has been observed to improve performance. Implement these indexes if they do not already exist in your database:

Primary Index:

CREATE INDEX IDXCUSTLD1 ON LONGDESCRIPTION( LDKEY ASC, LDOWNERTABLE ASC, LONGDESCRIPTIONID DESC );

Additional Recommended Indexes:

 CREATE INDEX IDXCUSTWO1 ON WORKORDER( WOSEQUENCE ASC, TASKID ASC );
CREATE INDEX IDXCUSTWO2 ON WORKORDER( PARENT ASC, SITEID ASC );
Post-Implementation Steps:
  1. Update Statistics in Database Configuration
  2. Refresh the index table in your database
  3. Compare API performance before and after implementation to measure impact

8. Health Classes

Problem Description

In 9.1, Inbound processing classes associated with MXAPIASSET and MXAPIOPERLOC object structures have been identified as time-consuming operations that negatively impact API performance.

Solution

Known Defect: DT460247

If you are not utilizing the Health Application in your MAS environment, consider removing the following classes from their respective object structures:

For Object Structure: MXAPIOPERLOC

  • Class: psdi.iface.app.location.MoutHealthOperLocProcess

For Object Structure: MXAPIASSET

  • Class: psdi.iface.app.asset.MoutAHAssetProcess
Important:
Only remove these classes if you have confirmed that the Health Application is not being used in your environment, as removing them will disable health-related functionality.

9. Asynchronous Data Fetch Configuration

Problem Description

In MAS environments, users may experience Cloudflare timeout issues when fetching large datasets for Maximo Mobile applications running in the native/container app. These timeouts occur when data retrieval operations exceed the maximum allowed response time, resulting in failed data synchronization and degraded user experience.

Solution

MAS environments support an asynchronous data fetch mechanism that prevents timeout issues by decoupling the data request from the data retrieval process. This is achieved through the maximo.mobile.async.fetch system property.

Configuration Steps:

Add the following system property, if not already exist, in the Manage/Maximo System Property application:

  • Property Name: maximo.mobile.async.fetch
  • Global Value: 1
  • Data Type: Yorn
  • Security Level: Secure

Important: Perform a live refresh after saving the property to ensure the changes take effect.

How It Works

When this property is enabled, the data fetch process operates asynchronously:

  1. The mobile application initiates a data request to the server
  2. The server immediately responds to acknowledge the request and begins querying the data in the background
  3. The mobile application polls the server every 5 seconds to check if the data is ready
  4. Once the data is prepared, it is returned to the mobile application on the next poll

This approach prevents timeout issues by ensuring that the initial request-response cycle completes quickly, while the actual data retrieval happens asynchronously in the background.

Important Notes:
  • This property is specifically designed to prevent Cloudflare timeout issues
  • This feature is only supported in MAS environments and is not available in EAM
  • The property applies to all data fetch calls from Maximo Mobile applications running in the native/container app

Conclusion

Performance optimization in Maximo Mobile requires a systematic approach to identifying and addressing bottlenecks. The strategies outlined in this guide represent proven solutions that have delivered measurable improvements for Maximo Mobile users. We recommend implementing these optimizations incrementally, measuring the impact of each change to determine which solutions provide the most significant benefits for your specific environment.



Other Resources:

Maximo Mobile - Meter Reading

#Maximo #MaximoMobile #Technician #MobilePerformance #MaximoMobilePerformance #mxapiwodetail

0 comments
84 views

Permalink