• No results found

Mobile Application Performance

N/A
N/A
Protected

Academic year: 2021

Share "Mobile Application Performance"

Copied!
85
0
0

Loading.... (view fulltext now)

Full text

(1)

Mobile Application Performance

Tips & Tricks to Significantly Boost App Performance

Ray Bennett

(2)

Performance Definition

11km/s (7mps)

Escape Velocity

(3)

Performance

Definition

Timely application response to user input, request and command •  Enables productive navigation, analysis, workflow

•  Does not detract from or negatively impact user experience

Application stability

•  Does not ‘freeze’, ‘hang’, or ‘crash’ Application meets or exceeds requirements

(4)

Why is Performance Important?

(5)

Microstrategy High Performance Initiative

A multi-year, multi-million dollar initiative designed to improve our customers’ system performance.

(6)

Microstrategy High Performance Initiative

High Performance Benchmark Testing Lab

What is it?

•  Multi-million dollar state of the art lab

•  Over 100 servers covering all major 64-bit OS platforms •  Multi-terabyte, industry-specific databases

What is the charter?

•  Deliver up to 10x faster BI applications

•  Provide faster than 3-second response time for most predictable queries and analyses

•  Provide faster than 5-second response time for the majority of ad hoc queries

(7)

Professional Services and the Mobile Service Line

One Week – Database to end user study of your system

MicroStrategy Performance Analysis Workshop

Main Deliverables:  

•  Performance  op,miza,on  roadmap  -­‐  Where  you  

are,  where  you  want  to  be,  and  how  to  get  there.  

•  System  Configura,on  Recommenda,ons  –  

System  configura:on  recommenda:ons.  

•  Performance  Monitoring  Plan  -­‐  Understand  the  

tools  and  metrics  you  can  use  to  monitor  your   performance.  

Improve 1 Upgrade 2 Enhance 3

Performance  Op,miza,on  Roadmap  

Recommended!

Expected Results

Configura,on  Recommenda,ons  

(8)

Tip #1

Tip #1

(9)

Devices Network

Mobile Server

Intelligence Server

Database

(10)
(11)

Document Definition Transport:

Highly Compressed Binary File

Contains:

•  Document metadata definition

•  Selector Objects

•  Panel Objects

•  Shapes, Lines

•  Data

•  Images (Background, Icons) What is sent to Device?

Mobile Server

(12)
(13)

Tip #2

Tip #2

(14)

Reactive

Performance Tuning

Proactive

Incorporate Performance tuning in design and

development Devices Network Mobile Server Intelligence Server Database

(15)

Tip #3

(16)

Rule 1 – Optimize Data Query Speed

3 Primary levers influence query speed

1.  Optimize metadata designs (In Memory BI (Cubes)) 2.  Optimize database design to process SQL faster 3.  Optimize VLDB settings

(17)

Device level

(18)

Instantiating results on mobile client

Devices Network

Mobile Server

Intelligence Server

Database

(19)

Multiple methods

1. 

Live Execution

2. 

Pre-caching

3. 

Subscriptions

4. 

Background Execution

(20)
(21)

In the beginning….Live Execution Devices Network Mobile Server Intelligence Server Database Device Caches No Device Side Cache!

(22)

Running from Device Disk Cache

Devices Network

Mobile Server

Intelligence Server

Database

(23)
(24)

Pre Caching

Advantages of device caching include:

-  Can adapt intelligently to user behavior while downloading

-  Cache can be kept current with an update

-  Can be used for offline scenarios, once downloaded

-  ‘Pre-loading’ status bar shows progress of downloads

Device Caches

(25)

Configuration Profile

(26)

Settings Tab – Part 1

(27)

Home Screen Tab

(28)

Work Flow

Parent Dashboard

Linked Dashboard 1

Linked Dashboard 2

Linked Dashboard 3

Linked Dashboard 4

Supporting Objects Folder

(29)

Caching

Device Side Settings

Device settings for caching behavior

(30)

•  Clear on Close is set to OFF at Mobile Configuration/Device Level

•  Caching is enabled at appropriate levels

-  Project, Document, Dataset Level Cache settings are turned ON

•  Adequate memory is allocated to save caches on the Server and Client

•  Look for documents where some component is not cached

•  Cache Expiration settings are high enough

•  Refresh data only as often as needed

Optimizing Cache Strategies

(31)

Caching settings – Memory storage

Microstrategy Desktop

Make sure you have sufficient space to

store datasets

Same applies to formatted documents

(32)

Caching settings - Expiration

Microstrategy Desktop

Set cache expiration times per

(33)

Administration – Are caches being hit?

Microstrategy Desktop

Check to see if caches are being

(34)
(35)

Work Flow Subscriptions Intelligence Server Mobile Server Mobile Device Can serve subscriptions at App Start-up

Subscriptions generated and caches stored in History List Inbox

(36)

Advantages of Subscriptions include:

-  Can be set up on a schedule, downloaded on App startup

-  Can be used for offline scenarios, once downloaded

-  Can be managed on a per user basis

-  Default prompt answers can be provided

(37)

Subscribing from Desktop

(38)

Desktop Settings

Subscriptions

Can choose to run subscription immediately or as

(39)

Mobile Server Settings

Subscriptions

Ensure device checks for latest subscriptions

regulary

Ensure subscription caches load on startup

(40)

Subscriptions vs. Pre-Cache

Subscriptions Cache Pre-Loading

•  Schedule based/ Predetermined

•  End User Driven

•  Less frequently changing Data

•  Real time / Adaptive

•  Administrator Driven

•  Real time Data

Both

•  Optimized for Performance

(41)

Upstream from Mobile device

(42)

Document, Result, Element, Object, DB Connection

Devices Network

Mobile Server

Intelligence Server

Database

(43)
(44)

Background App Refresh

New as of: 9.4.1, Update 3 and HotFix 4

•  Same functionality as Newsstand"

•  APNs and Schedule"

•  Increase performance"

•  Background report data download"

(45)

Advantages include

-  Content can be downloaded even when App is in background (using new iOS7 API)

-  Can be used for offline scenarios, once downloaded

-  Single MicroStrategy App (no need for 2 separate Apps)

Things to be careful about

-  Device needs to be on wifi for downloads to happen

-  App needs to be running in background

APNS

I-Server: 9.4.1 HF4 Mobile-Server: 9.4.1 HF4 Mobile-Client: 9.4.1 U3

Background App Refresh

(46)

Mobile Configuration

(47)

Tip #4

(48)

Examples may include

-  Better internal hardware architecture

-  Better Processor/CPU

-  More RAM

-  Better Network hardware

-  Better Graphics Engine/GPU

-  Specific Feature improvements: Camera, GPS, Video streaming etc

-  Better or newer OS

-  New features and functions supported by MSTR

As much as you can reasonably afford

(49)

Use the best hardware available

Optimizing Performance

•  For our internal test documents,

-  iPad Air was up to 40% faster than the iPad 4

-  iPhone 6 was up to 30% faster than iPhone 5S

•  In the ANDROID market, this difference can be very stark given the vast range

of devices and specs Recommendation

Always use the latest hardware certified by MicroStrategy for optimal performance

(50)

Tip #5

Leverage the best network(s) available

(51)

Devices Network

Mobile Server

Intelligence Server

Database

(52)

Network Considerations

(53)

Performance variation by network

(54)

Network Considerations

Various factors play a role: Bandwidth, Latency, Packet Loss, Signal Strength, Distance from Cell Towers, Actual Data being transferred etc

•  For optimal network performance

-  Avoid Network completely using caching, slicing selectors, offline mode

-  Choose Wifi over cellular

-  Choose LTE over 4G over 3G etc.

-  Pay attention to the MicroStrategy Network error messages

-  Use free Apps like SpeedTest to monitor Network conditions

-  Use Best Practices in global deployment scenarios

•  Other considerations

-  VPN services may add significant overhead, sometimes up to 40-50%

(55)

Network Settings at Server Level

(56)

From Device

(57)
(58)

Tip #6

Always use the latest and greatest MicroStrategy

release!

(59)

•  Newer features and/or modified workflows

•  Fixes which may impact Performance/Reliability

•  Device OS versions matter too

•  Better Performance and Reliability than earlier versions

-  Incremental Downloading (9.2.1)

-  Binary Compression (9.3)

-  Combining HTTP requests (9.3)

-  Definition Caching (9.3)

-  New RWD Engine workflow (9.4)

-  Binary limits normally increase every few builds

Application Software Considerations

(60)

Tip #7

(61)

•  How much data is really required to support the use case?

•  Push detailed granular data deeper into the work flow

•  Divide and conquer – Not everyone needs the same level of detail

Design Considerations

(62)

Image resolution and size impacts binary size and load times

Images After

-  Resolution: 750x1334

-  Image size: ~0.5MB

-  Execution time: 1.2s

Improvement

-  Loads 75% faster

-  No adverse effect on image quality

-  Overall better end user experience!

Before

-  Resolution: 1242x2208

-  Image size: ~2.5MB

(63)

Tip #8

(64)

All layouts are downloaded incrementally

Normal Multi-Layout Dashboard

Dashboard 2 Dashboard 3 Dashboard 1

(65)

Only selected layout is rendered at execution time….rest as needed

Linked Multi-Layout Dashboard

Dashboard 2 Dashboard 3 Dashboard 1

Other  Layouts   First  Slice  

(66)

Slicing vs. Filtering

•  All  slices  loaded  on  client

•  Selector  changes  local  &  faster

(67)

Slicing vs. Filtering

•  Only  required  slice  is  loaded

•  Selector  changes  require  trip  to  the  server

•  Single  slice  is  fetched  regardless

(68)

Tip #9

(69)

Measure and Monitor

(70)

Access via Settings

(71)

Specifying logging behavior

(72)

Log file - Verbosity

Logging on the Mobile Device

Summary level statistics of critical actions

Greater level of detail for each http request

(73)

Mobile Server Level

Mobile Performance Logging

Make sure Statistics are turned on and in

Screen Mode

Choose logging level based on level

(74)

Mobile Server Level

(75)

Mobile Server Level

Mobile Performance Logging

(76)

Track mobile performance

Mobile Statistics include:

-  Execution Time

-  Rendering Time

-  App Version

-  OS Version

-  Cache Usage

-  Network etc

Manipulation Tracking under development. Enterprise Manager documents for analysis

(77)
(78)
(79)
(80)
(81)

7

-

1

Tip #10

(82)

Scripted Stress Testing and Performance Tools

Simulate mobile server load using web load testing tools

–  Borland – Silk Performer (Microstrategy, in-house)

–  MFC Blaster (Microstrategy, in-house)

–  J-Meter (Simulates configurable server load)

–  HP Loadrunner (Commonly used for Enterprise)

Measure response times from mobile device

Regression Test Automation with DeviceAnyWhere.com Analyze network communication:

–  Fiddler (Microstrategy, in-house)

–  Wireshark

–  SpeedTest

Monitor Device Performance:

–  Xcode Instruments (Command line for iOS)

(83)

7

-

1

(84)

Analyze and Optimize the end-to-end workflow

Once device and network are optimized, focus on: –  Server hardware - Concurrency

–  Databases, Cubes, SQL queries

–  Third party services like Google Maps, YouTube

–  Reduce the number of graphs, grids or advanced visualizations

(85)

Thankyou! Questions?

References

Related documents

We estimate that SI, FC and SE give no indication of acceptance of PACS by the end-user, however, we did include them because they give interesting information concerning other

Auctioneer’s Report (Greg MacDougall): A larger show of cast sheep forward with all classes once again up a gear with some being £5-£10 dearer. Lesser ewes ie feeding ewes and

Librarians with impact: Contributing to campus- wide learning space and course

The questionnaire included questions about medication use, length of time with diabetes, self- reported health, levels of success of diabetes treatment, management

Impact of data sources on citation counts and rankings of LIS faculty: Web of Science versus Scopus and Google Scholar.. ResearchGate is no longer reliable:

In order to overcome the problems, previous research has developed a product data model using a single structure for many product variants.. The research also

Chapter 3: Managing the Mobile Device Server

"Prognostic factors for persistent or recurrent disease of papillary thyroid carcinoma with neck lymph node metastases and/or tumor extension beyond the thyroid capsule