Enterprise GIS: Performance and...

53
Enterprise GIS: Performance and Scalability Andrew Sakowicz, [email protected] Frank Pizzi, [email protected]

Transcript of Enterprise GIS: Performance and...

Page 1: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Enterprise GIS: Performance and Scalability

Andrew Sakowicz, [email protected] Pizzi, [email protected]

Page 2: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Esri UC 2014 | Technical Workshop |

Definitions

Page 3: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Performance

• Speed, e.g. response time (seconds)

Page 4: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Scalability

• The ability to increase output and maintain acceptable performance

Page 6: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Bottleneck

• Resource(s) limiting the performance or capacity

Not bottleneck bottleneckThink of :Lanes -as CPU processorToll -as ArcGIS Server instancesCars -as map requests

Page 7: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Capacity

Throughput(req/hr)

CPU Utilization (%)

Memory used (Mb)

Network used (Mbps)

Content length (bytes)

Response Time (sec)

Time

User load

Capacity (~ 85% utilization)

Page 8: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Esri UC 2014 | Technical Workshop |

Process and Tools

Page 9: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Process and Tools

Type Presentation Title Here

Page 10: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

System Tools overview

• http://www.arcgis.com• owner:EnterpriseImp• Show ArcGIS Desktop Content

Page 11: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Relationship between System Tools

User LoadCPU%

Capacity models

Performance Tests

Page 12: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

System Tools frameworkSystem Tools are not just tools

Tool

Patterns

Discipline

Page 13: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Esri UC 2014 | Technical Workshop |

Infrastructure Capacity Planning

Page 14: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Provide sufficient hardware resources

GIS Systems are bound by:1. CPU - typically2. Memory – when large number of services3. Disk – Image Service, Synchronization4. Network – low bandwidth deployment5. Poorly configured virtualization can result in 30% or higher performance degradation

Most systems are CPU bound

Most well-configured and tuned GIS systems are CPU bound.

Page 15: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

InfrastructureMemory requirements

Wide ranges of memory consumptions

Item Low HighArcSOC Map 50 MB 500 MB

ArcSOC Image 20 MB 1,024 MB

ArcSOC GP 100 MB 2,000 MB

XenApp Session 500 MB 1.2 GB

Database Session 10 MB 75 MB

Database Cache 200 MB 200 GB

Page 16: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

InfrastructureHyper threading does not double throughput

• System Test case: 4 physical, 8 logical core

Page 17: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

System DesignerSolution Architecture design methodology

• Gathering requirements

• Designing

• Capacity: CPU, Network, Memory

• Reporting

Page 18: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

System Designer output

Page 19: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

DemoSystem Designer

Page 20: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Esri UC 2014 | Technical Workshop |

Performance Testing

Page 21: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Testing Objectives

- Meet Service-Level Agreement (SLA)- Bottlenecks analysis- Capacity planning- Benchmarking different alternatives

Page 22: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Testing process

Application

GIS Services

Infrastructure: Hardware and Software

Page 23: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Required skill set Configuration, Tuning, Testing

Testing

Configuration

Tuning

Page 24: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Tuning methodologyProfile each tier starting from the top

Browser

Web Server

ArcGIS Server

ArcSOC

Total Response Time (t1-t2)

Wait Time

Search & Retrieval Time

Usage Time

ArcSDE/DBMS

t1 t2

Page 25: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

FiddlerFiddler measurement approximately 5.2 seconds

Page 26: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

ArcGIS Server 10.3.1 Statisticshttp://server.arcgis.com/en/server/latest/administer/windows/about-server-statistics.htm

• Total requests• Average response time• Maximum response time• Timeouts• Maximum running instances• 30 min resolution reports

Page 27: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

ArcGIS Server Logshttp://www.arcgis.com/home/item.html?id=90134fb0f1c148a48c65319287dde2f7

Page 28: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

System Monitor –ArcGIS Server Statistics

• https://systemmonitoring-emcs.esri.com/#/arcgis/ESLSRV12• User: esridemo• Password: esridemo

Page 29: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Mxdperfstathttp://www.arcgis.com/home/item.html?id=a269d03aa1c840638680e2902dadecac

Page 30: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Oracle TraceCompare elapsed time

Elapsed time slightly changed due to different test runs

Page 31: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Oracle Execution plan

Inefficient spatial index

Page 32: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

System Test Tool featuresGIS Test Automation

• ArcGIS Services- Mapping- Feature Service- OGC- Geocoding- Image Service - Network Analyst- Geoprocessing- Tile Cache

• Application Testing• Discipline relevant report

Application

GIS Services

Infrastructure: Hardware and Software

Page 33: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Test tools feature comparison

Tool Cost LearningCurve

OS Metrics GIS Data Generation

GIS Test Automation

Load Runner High High Windows/Linux No No

Visual Studio Medium High Windows No No

JMeter Free High Requires additionalplugin

No No

System Test Free Low Windows/Linux Yes Yes

Tech Support by Esri PS as part of consulting support

Page 34: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Performance testingValue

• Identify bottlenecks• Determine system capacity• Demonstrate performance SLA

Page 35: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

DemoSystem Test

Page 36: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Esri UC 2014 | Technical Workshop |

System Monitoring

Page 37: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Monitoring Enterprise GISChallenges

• Multiple administrators • Multiple disparate monitoring/diagnostic tools• Data collected in a reactive fashion: on demand and for limited time• Correlation of data with different timestamp is difficult• ArcGIS administrators do not have access to all tools, data and reports• Challenging to quickly identify the root cause and take appropriate measures

Page 38: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

• Many excellent monitoring tools on the market• Few provide GIS dashboards• System Monitor can be used as reference implementation

Standards for effective GIS monitoring

Page 39: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Enterprise GIS effective monitoring“PIECE” of mind with System Monitor

• Proactive• Integrated

- Dashboards across all tiers

• End-to-End- All tier monitoring

• Continuous- %Coverage provided

• Extendable- Custom queries

Network

Hardware

Web Server

ArcGIS Server

Geodatabase

RDBMS

Page 40: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Monitoring Value

• Proactive validation: Configuration

Resource Utilization

Usage Trends

Performance SLA

Uptime SLA

Page 41: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Demohttps://systemmonitoring-emcs.esri.com/Portaluser: esridemopassword: esridemo

Page 42: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Esri UC 2014 | Technical Workshop |

Applied use of System Monitor and Test tools

Use Cases

Page 43: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

DemoSimulate CPU spike (e.g. Antivirus scan)

Page 44: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

DemoSimulate ArcGIS user load

Page 45: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

DemoIntermittent slow performance: Networks latency (SM extensions)https://systemmonitoring-emcs.esri.com/#/url/eslsrv12_6080_arcgisoutput_1mb_file

Page 46: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

DemoArcGIS Server services stopped

Page 47: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

DemoArcGIS Server service usagehttps://systemmonitoring-emcs.esri.com/apps/dashboard_sample/#/ArcGIS

Page 48: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

DemoUnbalanced resources:ArcGIS Server clustershttps://systemmonitoring-emcs.esri.com/apps/dashboard_sample/#/ArcGISConfig

Page 49: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

DemoArcGIS Server slow serviceshttps://systemmonitoring-emcs.esri.com/apps/dashboard_sample/#/ArcGIS

Page 50: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

DemoArcGIS Server service usagehttps://systemmonitoring-emcs.esri.com/apps/dashboard_sample/#/ArcGIStuning

Page 51: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

DemoArcGIS Server instance configurationhttps://systemmonitoring-emcs.esri.com/apps/dashboard_sample/#/ArcGISInstances

Page 52: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session:

Thank you…

• Please fill out the session survey in your mobile app• Select [enter session title here] in the Mobile App

- Use the Search Feature to quickly find this title

• Click “Technical Workshop Survey”• Answer a few short questions and enter any comments

Page 53: Enterprise GIS: Performance and Scalabilityproceedings.esri.com/library/userconf/proc15/tech-workshops/tw_969... · Enterprise GIS: Performance and Scalability. ... Database Session: