56
ArcGIS for Server Performance and Scalability: Testing Methodologies Andrew Sakowicz, [email protected] Frank Pizzi, [email protected]

ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, [email protected]. Frank Pizzi,

  • Upload
    dinhnhi

  • View
    269

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

ArcGIS for Server Performance and Scalability: Testing Methodologies

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

Page 2: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Introductions

• Target audience - GIS, DB, System administrators - Testers - Architects - Developers - Project managers

• Level - Intermediate

Page 3: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Agenda Performance testing

• Definitions • Process • Factors • Tuning • Monitoring • Testing

Page 4: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Definitions

Page 5: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Performance

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

Page 6: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Scalability

• The ability to increase output and maintain acceptable performance

Page 8: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Bottleneck

• Resource(s) limiting the performance or capacity, e.g. CPU, connections

No bottleneck bottleneck

Think of : Lanes -as CPU processor Toll -as ArcGIS Server instances Cars -as map requests

Page 9: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Step Load and Response Time

Response Time (sec)

time

Step Load (users)

Page 10: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Throughput (request/hr)

Throughput(req/hr)

Response Time (sec)

time

Step Load (users)

Page 11: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Resource utilization: CPU, Memory, Network

Throughput(req/hr)

CPU Utilization (%)

Memory used (Mb)

Network used (Mbps)

Response Time (sec)

time

Step Load (users)

Page 12: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

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 13: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Process

Page 14: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Esri Services Process and Tools Holistic approach

Page 15: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Tools

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

Page 16: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Tools

• System Designer

• http://www.arcgis.com/home/item.html?id=8ff490eef2794f428bde25b561226bda.

• System Test

• http://www.arcgis.com/home/item.html?id=e8bac3559fd64352b799b6adf5721d81

• System Monitor

• http://www.arcgis.com/home/item.html?id=848f48b0f88e4de7a036377197453efe

• System CPU

• http://www.arcgis.com/home/item.html?id=3e473b63a3254a6ab5f22e6f9608b209

• Mxdperfstat

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

Page 17: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Relationship between System Tools System Monitor and Test inputs into System Designer capacity plan

Page 18: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Performance Factors

Page 19: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

GIS Services—Map Service Optimize map document

• Set scale dependency • Use simple labels and symbols • Use appropriate attribute and spatial index • Avoid reprojections on the fly • Use fast joins (no cross database joins) • Avoid wavelet compression-based raster types (MrSid, JPEG 2000)

Page 20: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

• Start with Max Instances =~ #CPU Cores • Monitor usage • Reduce as needed

GIS Services—ArcSOC instances

If max SOC instances are under configured, system will not scale.

Page 21: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Geodatabase

• Keep delta tables and versioning tree small - Reconcile and post - Compress - Synchronize replicas

• Rebuild indexes • Update statistics

Page 22: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Hardware

GIS Systems are bound by: 1. CPU - typical 2. Memory – when large number of services 3. Disk – Image Service, Synchronization 4. Network – low bandwidth deployment

Most systems are CPU bound

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

Page 23: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Hardware Memory critical when publishing very large number of services

Wide ranges of memory consumptions

Item Low High

ArcSOC 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 24: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Performance Factors - Hardware

• Performance depends on configuration and implementation - 5% - 30% overhead

Virtualization

Overburdened VMs will incur significant performance degradation

Page 25: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Tuning

Page 26: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Tuning methodology Profile 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 27: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Fiddler Fiddler measurement approximately 5.2 seconds

Page 28: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Mxdperfstat

Page 29: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Oracle Trace Compare elapsed time

Elapsed time slightly changed due to different test runs

Page 30: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Oracle Execution plan

Inefficient spatial index

Page 31: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Testing

Page 32: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Testing process

Application

GIS Services

Infrastructure: Hardware and Software

Page 33: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Required skill set Configuration, Tuning, Testing

Testing

Configuration

Tuning

Page 34: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Demo CPU Processor Speed 1. System CPU 2. PassMark http://www.cpubenchmark.net/cpu_list.php

Application

GIS Services

Infrastructure: Hardware and Software

Page 35: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Network test What is optimal location?

Could server location 1

Could server location 2

Page 36: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Demo Network Speed Test Tool: http://localhost/speedtest/

Application

GIS Services

Infrastructure: Hardware and Software

Page 37: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Test tools feature comparison

Tool Cost Learning Curve

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 additional plugin

No No

System Test Free Low Windows/Linux

Yes Yes

Page 38: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

System Test Tool features GIS 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 39: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Testing Objectives

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

Page 40: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Designing test Validate environment

Profile requests

Prepare test data

Define transactions and requests

Bind test data to requests

Define a load test

Validate results

Page 41: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Analyze results Valid

Page 42: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Analyze results Invalid

Page 43: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Demo System Test - Map

Page 44: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Impact of ArcGIS Server max instances

CPU ST/Tr @ ASAKOWICZ1 Step Load Avg. Value Std. Deviation

1 0.054 0.018 2 0.048 0.009 3 0.045 0.009

Response Time (sec)

Service Time

ArcGIS Server Wait Time

Transaction Response Time @ ASAKOWICZ1 Step Load Avg. Value Std. Deviation

1 0.060 0.023 2 0.111 0.023 3 0.168 0.026

Application

GIS Services

Infrastructure: Hardware and Software

Page 45: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Impact of CPU speed CPU, Throughput and Response time ratios are similar

0.000

0.050

0.100

0.150

new laptop old laptop

Response Time @1 (sec)

0200400600800

new laptop old laptop

CPU score

0.000

10.000

20.000

new laptop old laptop

Throughput max (tr/sec)

00.20.40.60.8

1

RT TH Score

Ratio

Application

GIS Services

Infrastructure: Hardware and Software

Page 46: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Demo System Test - Network Analysis

Page 47: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Demo System Test - GP

Page 48: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Monitoring

Page 49: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Monitoring Enterprise GIS Challenges

• 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 50: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Integrated continuous end-to-end monitoring

Hardware

Web Server

ArcGIS Server

Geodatabase

RDBMS

Page 51: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Key Performance Indicators (KPI) Management KPI

Usage

Performance

Availability

Page 52: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Demo System Monitor

Page 53: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Summary

• Process • Skills • Tools

Testing

Configuration

Tuning

Page 54: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,

Survey

• http://www.esri.com/events/devsummit/session-rater

Page 56: ArcGIS for Server Performance and Scalability: Testing ... · ArcGIS for Server Performance and Scalability: Testing Methodologies . Andrew Sakowicz, asakowicz@esri.com. Frank Pizzi,