Agentry and SMP Metadata Performance Tun PDF
Agentry and SMP Metadata Performance Tun PDF
Agentry and SMP Metadata Performance Tun PDF
TABLE OF CONTENTS
CLIENT INITIAL LOAD TIME ...................................................................................................................... 3
Reduce Overall Sync Time .............................................................................................................................. 3
Pre-built client .................................................................................................................................................. 3
CLIENT LOGIN AND SYNC TIME ............................................................................................................... 3
Reduce Backend Sync Latency....................................................................................................................... 3
Improve Device performance characteristics ................................................................................................. 3
COMPLEX TABLE SYNC............................................................................................................................ 4
Reduce number of rows .................................................................................................................................. 4
Reduce number of columns and indexes ....................................................................................................... 4
Optimize column length................................................................................................................................... 4
ASCII String ....................................................................................................................................................... 4
International String ............................................................................................................................................. 4
Identifier............................................................................................................................................................. 4
Number.............................................................................................................................................................. 5
Combine tables ................................................................................................................................................ 5
OBJECT FETCH TIME ................................................................................................................................ 5
Reduce number of objects in a collection ...................................................................................................... 5
Reduce number of properties ......................................................................................................................... 5
Combining fetches and objects ...................................................................................................................... 5
Use sub-collections ......................................................................................................................................... 5
TRANSACTION SUBMISSION.................................................................................................................... 5
Only include the required properties .............................................................................................................. 5
Use Apply less frequently ............................................................................................................................... 5
Combine Update Steps and transactions ....................................................................................................... 6
Send a collection to the backend instead of multiple individual objects ...................................................... 6
APPLICATION FRONT END RESPONSIVENESS ...................................................................................... 6
List scrolling too slowly .................................................................................................................................. 6
Detail Screen displaying too slowly ................................................................................................................ 6
Transaction Screen displaying or updating too slowly.................................................................................. 6
Next step after a button press too slow / Slow Action execution .................................................................. 6
AGENTRY SERVER PROCESSING TIME .................................................................................................. 6
Optimizing Java Heap Usage .......................................................................................................................... 6
Use Java Server JVM ....................................................................................................................................... 6
2
AGENTRY PERFORMANCE TUNING
This document provides assistance on improving Agentry application performance. It lists various
challenging scenarios and provides suggestions on how to alleviate them. This is followed by a list of
tips for improving application performance. Because of the disparate nature of each customer’s
environment, not all suggestions and tips will be useful in all cases. Performance Tuning goes hand in
hand with Performance Testing and the Agentry and SMP Metadata Performance Testing may be
useful in that regard. The information in this document was primarily tested with Agentry 6.0.x but the
information is expected to still be relevant to the Agentry and Metadata component in SMP 2.3 and
3.0.
Pre-built client
In many cases master data like functional locations, equipment, etc. end up containing the same data for a
significant proportion of the end-users. In this case, it becomes viable to pre-build a production client using a
generic user and deploy the pre-built client to the end-user devices. The deployment of the pre-built can also be
combined with the branding tool to provide a branded installer with ready data. The pre-built client deployment
can continue to be managed by the same tools that would be used to manage the Agentry Client.
The benefits of this solution are firstly that the end-user does not have to wait for the complete application logic
or data set to download over the data network, thus leading to a much lower initial sync time. Secondly, the
memory and resource usage on both the Agentry Server and the ECC backend are reduced because they are
now serving a smaller volume of data.
In the case, the customer has separate region with separate sets of master data, a pre-built client would have to
be created for each region. If the customer does not wish to deploy a fully pre-built client, the pre-built can be
modified so that only certain tables are included or any other such combination.
3
AGENTRY PERFORMANCE TUNING
4
AGENTRY PERFORMANCE TUNING
Combine tables
Sometimes it may be useful to consider combining two or more tables into one, if they are usually used in
conjunction. The Java layer can also be used to do this without making any ABAP changes.
Use sub-collections
If only a few properties on an object are constantly frequently updating (e.g. status) while the rest remain static,
consider separating those values into a sub-collection. This way you can send a smaller amount to data (or even
use push) instead of sending the whole set every time
TRANSACTION SUBMISSION
Transactions are how data is modified by the Agentry Client and the Apply step in an action causes the modified
data to be written to the physical storage. Transaction with Update Steps are also how data is created and
packages to be sent to the Agentry server for processing. Slow transaction processing does not affect initial load
but can affect regular transmits and client responsiveness if there are a lot of transactions waiting to be
processed. Following are some techniques for overcoming that.
5
AGENTRY PERFORMANCE TUNING
Next step after a button press too slow / Slow Action execution
Check the application flow in debug mode to ensure that the sub-action branches, loops and rules are efficient.
Pay particular attention to rules traversing sub-collections.
6
www.sap.com
Crossgate, m@gic EDDY, B2B 360°, and B2B 360° Services are
registered trademarks of Crossgate AG in Germany and other
countries. Crossgate is an SAP company.
All other product and service names mentioned are the trademarks of
their respective companies. Data contained in this document serves
informational purposes only. National product specifications may vary.