Performance Considerations

The performance of synchronizing and searching data on the client depends on the size and complexity of the data model and the offline dataset.

If in addition large data volumes are involved, synchronizing can be very time consuming.

Each dataset is synchronized synchronously in one server request and must be transferred before a timeout occurs:

  • The default client timeout is set to 60 seconds and can be changed, see ClientRequestTimeout.
  • The default ASP.NET server timeout is set to 90 seconds. You can change it with the Aurea CRM web installation. For further information refer to the Aurea CRM web Installation Guide.
    Note: Bear in mind that setting these values higher might affect the application's performance.

For a thin connection (e.g. GSM) the timeout hardly ever occurs. A timeout only occurs if time runs out before the first response package is transferred. A full synchronization on a thin connection probably takes a long time.

Do not use link fields ("Z fields") in your offline data set. Each offline dataset package is requested with one SQL statement, but the server might execute additional read operations for each record containing link fields.

When a dataset is requested, the following is applied and can result in complex SQL statements:

  • The defined filters of each info area
  • The current user's rights
  • Dependencies to other info areas including defined filters and rights
    Note: Complex SQL statements might need a long run time resulting in a timeout on the database server. This could result in incomplete record sets being returned to the client. For more information, see Troubleshooting.
    Note: You can set the RequestMode option to BEST when assigning the page call for a Details control, then the record and its link are loaded from the server if a server connection is available.

To limit the duration of synchronization, you can:

  • Define more than one offline data set for one info area, each containing only one filter or one dependency (the full timeout limit applies to each dataset, a record can be contained in more than one dataset).
  • Define filters in a less complex way, even if this results in more records being transferred.
  • Consider reducing your offline data set.
  • Consider reducing the complexity of your rights definition, e.g. by replacing them with triggered information (easier to query).