Introduction

All Axsy mobile apps are designed for offline-first use and as such they must synchronise the data they need from the Salesforce platform onto the mobile device before being used. When a user first logs onto their Axsy mobile app, an initial sync takes place that prepares the mobile app for subsequent offline use. The initial sync is the largest synchronisation event that the mobile app must perform (all other synchronisation events are incremental) while the user remains logged into the mobile app.


The focus of the article will be on Axsy Retail Execution. The Axsy Retail Execution mobile apps often require in excess of 10k + records to be initially synchronised. The Axsy Field Service and Axsy Public Sector mobile apps typically require at least an order of magnitude less records to be synchronised and are therefore not considered further in this article.


The Axsy Config Tool allows Salesforce administrators to define the amount of data records that are synchronised to users mobile devices. Administrators should refer to the benchmark data in this article once they have defined their sync config scope to predict the impact of the initial sync in relation to:


  1. Initial sync duration

  2. Mobile device battery consumption.


Test Environment

Mobile Devices

Axsy used a range of devices for benchmark testing from the recommended devices list. The mobile operating system versions used were either the most recent major version or the immediately prior major version.


Network Speed

For the purposes of benchmark testing, the network conditions used in Axsy testing were typical of real world 4G mobile networks with 20 Mbps download and 5 Mbps upload speeds. Any improvement on 4G network speeds provides a negligible improvement in sync performance. 


Device Processor

Assuming 4G or better network speeds, The most significant factor affecting the initial sync duration is the processing power of the mobile device. The industry standard Jet Stream 2 index was used to determine the processing power of the test mobile devices.


Battery Considerations

Battery consumption is mostly proportional to the duration of the initial sync – longer sync durations correspond to greater battery usage, but battery consumption is also affected by the capacity of the battery, battery health (age) and screen brightness to lesser degrees.


Battery consumption figures are therefore provided as an expected range instead of exact figures due to the number of factors affecting battery usage.


Test Scenarios

A range of test scenarios shown below in Table 2 were used for benchmarking purposes.


Record Type

Number of Records

Small

Medium

Large

Very Large

Huge

Accounts

10,000

20,000

50,000

100,000

200,000

RetailStores

10,000

20,000

50,000

100,000

200,000

StoreProducts (20 Stores with 10,000 products each)

10,000

20,000

50,000

100,000

200,000

RVKPI’s , (Configured as 5000 KPI’s per visit)

10,000

20,000

50,000

100,000

200,000

Products (Without pricebook entry)

10,000

20,000

50,000

100,000

200,000

Assortments

5,000

10,000

20,000

50,000

100,000

Assortment products (20 assortments with 10,000 products each)

5,000

10,000

20,000

50,000

100,000

Total Records

60,000

120,000

290,000

600,000

1.2 M


Table 2 – Test Record Scenarios


Benchmark 1: Initial Sync Duration

Benchmark results are shown for iOS, Android and Windows Retail Execution mobile apps. The sync durations are average values and may vary by up to 10%.


iOS

Reference App: Axsy Retail Execution v5.9.8.



Mobile Device


Jetstream 2 Index

Sync Duration (seconds)

Small

Medium

Large

Very Large

Huge

iPhone7 (2016)

85

100

420

475

1,750

7,400

iPad 6th gen (2018)

95

110

410

435

1,430

5,400

iPad 7th gen (2019)

105

105

405

428

1,385

5,300

iPad 8th gen (2020)

135

100

330

333

1,150

4,000

iPhone SE (2022)

190

85

240

255

765

2,750


Table 3a – iOS Initial Sync Durations



Figure 1a – iOS Initial Sync Durations


Android

Reference App: Axsy Retail Execution v5.9.8.


Mobile Device


Jetstream 2 Index

Sync Duration (seconds)

Small

Medium

Large

Very Large

Huge

Oppo A54 (2021)

56

174

470

580

1,285

7,710

Redmi Note 9 (2020)

70

170

450

555

1,235

3,320

Pixel 4 (2019)

80

135

390

355

1,200

3,170

Galaxy S22 (2022)

100

100

265

267

759

1,985


Table 3b – Android Initial Sync Durations




Figure 1b – Android Initial Sync Durations


Windows

Reference App: Axsy Retail Execution v5.9.6.


Mobile Device


Jetstream 2 Index

Sync Duration (seconds)

Small

Medium

Large

Very Large

Huge

Go 3 desktop (2020)

48

143

900

960



Surface Pro 7 (2020)

145

100

530

565

2,115

Note: Areas marked in grey represent sync scenarios that are not recommended


Table 3c – Windows Initial Sync Durations



Figure 1c – Windows Initial Sync Durations


Benchmark 2: Battery Consumption


iOS Mobile Devices

Battery Consumption (%)

Small

Medium

Large

Very Large

Huge

iPhone7 (2016)

1—2%

3—6%%

4—7%

8—12%

30—70%

iPad 6th gen (2018)

iPad 7th gen (2019)

IPad 8th gen (2020)

iPhone SE (2022)

Android Mobile Devices

Oppo A54 (2021)

1—2%

2—3%

3—5%

5—10%

10—15%

Redmi Note 9 (2020)

Pixel 4 (2019)

Galaxy S22 (2022)

WindowsMobile  Devices

Go 3 desktop (2020)

1%

3—9%

6—10%



Surface Pro 7 (2020)

29%

Notes:

  1. Battery consumption figures may vary from those shown above due to factors such as battery condition / age and screen brightness settings

  2. Areas marked in grey represent sync scenarios that are not recommended


Table 4 – Battery Consumption


FAQ’s

  1. How do I apply the benchmark results to my sync scope and mobile devices?
    To determine the initial sync duration of your mobile devices, select the test record scenario closest to your sync scope and determine the Jet Stream 2 index for your mobile device. Then use Tables 3a—c and / or Figures 1a—c and Table 4 to determine your expected initial sync duration and battery consumption respectively. If necessary you may need to interpolate between values or extrapolate beyond the scope of the data presented in Tables 3a—c / Figures 1a—c and Table 4.


  1. How do I Determine the Initial Sync Duration?
    Initial sync durations are determined from the Admin Console, see Figure 2 below for details.


Figure 2 – Initial Sync Duration Obtained from the Admin Console


  1. How do I Measure Battery Consumption?

Battery consumption is determined by before and after the initial sync by inspection of the mobile device battery bar, see Figure 3 for example screenshots taken once the initial sync commences and after it has completed.


Figure 3 – Viewing Battery Usage Before and After Initial Sync


  1. How do I find the exact number of records synced in the initial sync?

You can determine the exact number of initial sync records from the mobile app, navigate to the Synchronise page via the gear icon and then pick the History tab – the number of records will be listed there. See Figure 4 below for an example.


Figure 4 – Initial Sync Number of Records From the Mobile App


  1. What if my sync results do not match the figures provided?

Check your test conditions carefully, including:

  • Ensuring an accurate Jetstream 2 index by not using the mobile device for other purposes while the test is running

  • Checking your network speed is at least 20 Mbps download / 4 Mbps upload

  • Checking the number of records you are actually syncing (see FAQ 4)

  • Not using your mobile device for any other purpose while the initial sync is in progress

  • Not letting the mobile device go into background mode while the initial sync is in progress.