ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Slides:



Advertisements
Similar presentations
Publishing GIS Services to ArcGIS for Server
Advertisements

Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Designing and Using.
Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California ArcGIS Tracking Analyst – an Introduction Morakot Pilouk,
Esri UC 2014 | Technical Workshop | Automating Cache Workflows and Tile Usage Heat Maps Eric J. Rodenberg.
ArcGIS Data Reviewer: An Introduction
Esri UC 2014 | Technical Workshop | Audience Participation URL: goo.gl/tN4Vzq Open in device browser… CAD: The ArcGIS for AutoCAD Plug-in.
Chapter 9 Overview  Reasons to monitor SQL Server  Performance Monitoring and Tuning  Tools for Monitoring SQL Server  Common Monitoring and Tuning.
Internet GIS. A vast network connecting computers throughout the world Computers on the Internet are physically connected Computers on the Internet use.
Sharing imagery and raster data in ArcGIS
Sharing Geographic Content
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Best Practices for.
Editing With ArcGIS Pro
Gary MacDougall Premjit Singh Managing your Distributed Data.
Technical Workshops | Esri International User Conference San Diego, California ArcMap: Tips and Tricks Miriam Schmidts Jorge Ruiz-Valdepena July 23 – 27,
Esri UC 2014 | Technical Workshop | Accessing Spatial Databases in ArcGIS using Query Layers Annie Sasidar.
Troubleshooting SQL Server Enterprise Geodatabase Performance Issues
Fundamentals of working with geographic data
Esri UC 2014 | Technical Workshop | ArcGIS Data Reviewer Edwin Waite & Shankar Chandrasekaran Planning and Deploying Data Quality Services.
ArcGIS for Server: Reference Implementations
material assembled from the web pages at
Esri UC 2014 | Technical Workshop | Fundamentals of working with geographic data Miriam Schmidts.
The 2000 Decennial Census School District Project: Using Census Data for the School District Mapping System **** Development and Implementation Tai A.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Caching Imagery Using.
Best Practices for Designing Effective Map Services Tanu Hoque.
Publishing to ArcGIS for Server
Enabling High-Quality Printing in Web Applications
Introduction to CacheWorx Lucian Plesea - Esri Robert Jensen - Esri.
Esri UC 2014 | Technical Workshop | Animating Thousands of Graphics with ArcGIS Runtime SDK for Java Mark Baird and Vijay Gandhi.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Road Ahead - ArcGIS.
Esri UC 2014 | Technical Workshop | Esri Roads and Highways: Integrating and Developing LRS Business Systems Tom Hill.
Best Practices for Managing Scanned Imagery Peter Becker.
Preparing and Deploying Data to ArcPad Juan Luera.
2010 Indiana GIS Conference ESRI Technical Session 2010 Indiana GIS Conference ESRI Technical Session February 24, 2010 ArcGIS Server Performance Tuning.
Understanding our world.. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Editing Versioned Geodatabases.
Technical Workshops | Esri International User Conference San Diego, California Creating Geoprocessing Services Kevin Hibma, Scott Murray July 25, 2012.
Raster Concepts.
Tips & Tricks using Mobile Devices with ArcPad and ArcGIS for Windows Mobile Kevin Burke and Juan Luera.
ArcGIS Server for Administrators
Esri UC 2014 | Technical Workshop | Python Map Automation – Beyond the Basics of arcpy.mapping Jeff Barrette Jeff Moulds.
GeoPlannerSM for ArcGIS®: An Introduction
Esri UC 2014 | Technical Workshop | ArcGIS for Windows Mobile - An Introduction Sunee Puckdee, Rui Ge, Morgan Zhang.
Esri UC 2014 | Demo Theater | Using ArcPad in the Field Juan Luera.
Esri UC 2014 | Technical Workshop | Designing and Using Cached Map Services Tom Brenneman & Eric Rodenberg.
Caching Imagery Using ArcGIS
Esri UC 2014 | Technical Workshop | ArcGIS Online: An Introduction and Overview Ray Bunn Andrew Hendrickson Tim Oliver, Horry County Paul Ross.
Esri UC 2014 | Technical Workshop | Editing Versioned Geodatabases : An Introduction Cheryl Cleghorn and Shawn Thorne.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Supporting High-Quality.
Esri UC 2014 | Technical Workshop | Developing Offline Apps with ArcGIS Runtime SDKs Euan Cameron Justin Colville Will Crick.
Working with Feature Services Gary MacDougall Russell Brennan.
Esri UC 2014 | Technical Workshop | Managing Imagery and Raster Data Using Mosaic Datasets Kevin Armstrong.
GIS in the cloud: implementing a Web Map Service on Google App Engine Jon Blower Reading e-Science Centre University of Reading United Kingdom
Esri UC 2014 | Technical Workshop | Creating Geoprocessing Services Kevin Hibma.
Adding ArcGIS Online to Your GIS Curriculum
Esri UC 2014 | Technical Workshop | Developing iOS and Mac Apps with ArcGIS Runtime SDK Divesh Goyal & Al Pascual.
ArcGIS Online: Sharing your Content Ben Ramseth John Thieling.
Esri UC 2014 | Technical Workshop | Managing and Editing Annotation Wendy Harrison.
Publishing GIS Services to ArcGIS Server
Esri UC 2014 | Technical Workshop | Editing in ArcMap: An Introduction Lisa Stanners, Phil Sanchez.
Esri UC 2014 | Technical Workshop | Best Practices for Designing Effective Map Services Ty Fitzpatrick Tanu Hoque.
Esri UC 2014 | Technical Workshop | Enhancing Web Map Performance in ArcGIS Online Julia Guard & Melanie Summers.
Amazon Web Services. Amazon Web Services (AWS) - robust, scalable and affordable infrastructure for cloud computing. This session is about:
Best Practices for Managing Processed Ortho Imagery Cody A. Benkelman.
Working with Feature Layers
Enhancing Web Map Performance in ArcGIS Online
Geoprocessing with ArcGIS for Server
Enterprise Geodatabase Administration – Tips and Tricks
Publishing image services in ArcGIS
Designing and Using Cached Map Services
ArcGIS Pro: An Introduction Overview
Best Practices for Managing Processed Ortho Imagery
Presentation transcript:

ArcGIS for Server Performance and Scalability: Optimizing GIS Services Craig Williams, Peter Becker, Andrew Sakowicz, Josh Jones

Introduction Josh Jones ArcGIS for Server Performance and Scalability: Optimizing GIS Services

3 Presenters ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Craig Williams Product Engineer, Map Service Optimizing Map Services ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Peter Becker Product Engineer, Image Service Optimizing Image Services ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Andrew Sakowicz Enterprise Implementation Services Performance Factors ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Optimizing map services Craig Williams ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Overview Types of map services Factors of map service performance What’s new in the last few releases Factors of map service performance Data access Rendering speed Image size/compression ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Map services 9.3.1 – 10.0 MXD based map services MSD based map services (optimized map service) Use the optimized map service for best quality and performance Analyzer workflow guides you through potential problems ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Map services at 10.1 and beyond One unified map service An updated optimized map service Supports additional capabilities, data types, layers, renderers Includes extension capabilities optimized map service lacked: Network Analysis Geoprocessing* Application http ArcGIS Server Map Server ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Mapping capabilities Added data source support Added support for layers XY events Dimensions Linear referencing events Schematics Network Added feature layer renderer support Network Analysis Tin Dot density Terrain Charts Tracking Geostats ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Dynamic Layers New behavior with the map service that allows for per-request changes to the map Optional capability of map services May allow you to reduce the total number of services you need Allows for: Updating renderers and symbols Removing and reordering layers Changing layer data sources Adding new layers from registered data sources ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Dynamic Layers: How they work Simple updates to the map service Remove layers or reorder layers Thematic mapping Updates to renderers Adding content from your datasources Find data from registered workspaces Including query layers Add to the map on a per-request basis Application http json 10.1 Map Service REST Workspaces ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Factors of map service performance Data access Rendering Image compression / size Consider all of these when creating a map service ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Data access Local data will draw faster than remote data Spatial index Do you have one? (e.g. XY Events) Is it sized correctly? Universal features, slow all draws Attribute indexing Not always needed ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Data access case study : X Y Events Often used in cases where data comes from external systems As database table or CSV A draw typically requires a complete row scan Alternative Use a native spatial type in your database -Query layers Insert features via SQL in external systems Features will be indexed and draw much faster ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Data access troubleshooting Publishing analyzers indicate lack of a spatial index etc. Evaluate index efficiency The number of features returned for each draw query Large index grid sizes lead to too many features being drawn Evaluate I/O performance if using remote data Unnecessary attribute indexes May confuse query plans in some databases Don’t index fields just because they exist in a def query ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Rendering speed Optimized map services were introduced at 9.3.1 to resolve performance bottlenecks at this stage Remaining areas to be concerned with: Complex effects (e.g. geometric effects in representations) Inline annotation (aka “Bloated” annotation) Anti-aliasing performance Higher levels use more RAM and are slower Text anti-aliasing has a negligible effect in most cases Layer transparency ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Rendering speed: transparency Layer transparency is applied to a layer as a whole Involves a full layer blend Alternative: Use color transparency Capability of optimized map services Enabled via an option from analyzer warning 10009 ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Image compression / size Smaller images are faster to download Image formats have limitations e.g. limited color palettes, lossy compression Image compression itself has a performance penalty Use the preview window to evaluate performance of image type Evaluate size and performance in a test service in network conditions Balance size vs. quality when choosing the image type based on your needs ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Image compression / size (con’t) Image type used for cached services affects: Download size Storage size of the cache Portability For caching vector data Consider new PNG image type (introduced at 10.1) Chooses the correct PNG type (8, 24, 32) for each tile based on content Low content areas use less storage ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Optimizing Image Services Peter Becker ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Ways of Making Imagery Accessible: Download Clip , Zip, Ship Tile Cache Service Background image Image Service of Single Raster OnTheFly processing Image Services of Mosaic Dataset Dynamic Mosaicking and OnTheFly processing of Collections of Rasters Geoprocessing Task Access to all ArcGIS tools ArcGIS for Server Performance and Scalability: Optimizing GIS Services

(Security/Loadbalancer/TileHandler) Tile Cache Data Flow Server (Security/Loadbalancer/TileHandler) Client App Storage Bundle Tile Cache Client request tile Search Tile Index Read tiles from storage Bottleneck? : Typically Network ≈20KB Return Tile (JPG/PNG) ≈20KB Return Tile Decompress tile & display Cache Tile Locally ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Image Service – Single Raster – Data Flow Server (Security/Loadbalancer/ImageService) Client App Storage Raster dataset Client request Extent/Cols/Rows Read Metadata Compute byte range Read pixel from storage Bottlenecks? : Data Read Image Processing Data Transmission 100KB - 32MB Return bytes ranges Process Image: - Decompress? - Resample/Reproject/Orthorectify - Bandmath/Atmospheric/Stretch/Hillshade… - Compress 1000x1000 X 4 Bands X 2 – (16bit) X 4 (level sampling) 100KB – 8MB Decompress & display on screen 1000x1000 X 4 Bands X 2 – (16bit) For sample 1000x1000 pixel request ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Image Service – Mosaic Dataset – Data Flow Server (Security/Loadbalancer/ImageService) Client App Storage Raster datasets Client request Extent/Cols/Rows Determine Intersecting Rasters For Each N rasters - Read Metadata - Compute byte ranges Bottlenecks? : Data Read x N Image Processing x N + 1 Data Transmission Read pixels from storage N x (100KB - 32MB) Return bytes ranges For Each N rasters: - Decompress? - Resample/Reproject/Orthorectify - Bandmath/Atmospheric/Stretch Mosaic Rasters (Clip/Seamline) Apply Server Function (Bandmath, Stretch, Hillshade,…) 100KB – 8MB Decompress & display on screen ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Image Service or Tile Cache ? What is faster ? Tile Cache – If structured requests – Due to caching Image Service – If random request and optimized – Due to single request What is more scalable on a specific set of HW ? Tile Cache is more Scalable Uses Preprocessed data and caching at Server, Client and Internet (edge cache) What is more flexible ? Image Services - Provide access to full information content On what can I do Image analysis & Interpretation Image Services – Provide wide range of server based image processing What performance is typical for Image Services 1-8MP/s/Core ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Recommendations: General Will split recommendations into: If just want static background Use Tile Cache For dynamic imagery use image services Do not add imagery to a Map and Publish as Map. (Best practice is to keep image as separate service) Will split recommendations into: Data – How to structure Storage Infrastructure Mosaic Dataset Design Server App Requests ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Data Recommendations Format – Tiled: Eg GeoTIF with internal tiles Minimize the amount of data the needs to be read You may or may not have control of the following: Format – Tiled: Eg GeoTIF with internal tiles Compression Helps reduce volume of data read from disk Can add CPU Load to decompress. (JPEG good, Wavelet (JPEG2000) can be expensive) Include Pyramids Reduced data read at smaller scales Projection If possible create in same as majority output. (Suggest that do not pre-reproject) PixelSize - If using standard WebMap chose – 0.25,0.5,1,2,4,8,16,32.5,75,150,300,600 (Max 1000%) (Max 500%) (Max 40%) For More info see: “Image Management Guidebook”  http://esriurl.com/6007 “Designing and Optimizing Image Services for High-Performance Analysis Blog”    http://esriurl.com/OptimizingISBlog (Max 100%) ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Storage Infrastructure Ensure fast transfer to Servers Disk Storage Needs to be Fast Stripe Disks Tune NAS. Check turning off Read Ahead Cache? Storage performance can vary significantly Internal Network Min 1GB between server and storage If necessary use dedicated network for imagery For Smaller implementations Consider using DAS (Direct Access Storage) Use DAS for file geodatabase (see later) On Amazon: Use Striped Ephemeral else Striped EBS ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Mosaic Dataset Design – See Guidebook Minimize Amount of Processing See Image Management Guidebook - http://esriurl.com/6007  Create Overviews on Mosaic Dataset – Reduce number of images accessed at smaller scales Location of Mosaic Dataset – MDs are chatty. Best to keep on DAS Processing Functions – Review. Especially regional functions Check NoData – Use Footprints to constrain extents. Turn off ‘Footprint contains no data’ if possible Sampling method – Nearest ,Bilinear -10% Cubic -18% Footprints - Balance complexity and approximation. Possibly shrink & generalize Split Mosaic Dataset by data type - Use Suitable # Bands / BitDepth Size of Allowed Table Attributes – Too many fields slow down table display Index – Add Indices to fields that will be queried Projection of Mosaic Dataset – Hardly any effect ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Server CPU – Faster Better Memory – 2GB/Core Internet Access Virus Checker – Can be a real hog! ArcGIS for Server Performance and Scalability: Optimizing GIS Services

App Reduce Client Bandwidth - Compression for transmission Set to JPEG (Q75-80) for continuous Set to PNG for discrete Use suitable defaults Use Layers to set appropriate compression On Web Reduce PNG request (caused by NoData) when using JPG/PNG User Server Functions – Allow server to do processing Size Cols/Rows of request ArcGIS for Server Performance and Scalability: Optimizing GIS Services

How to Test Run Fiddler Set Number of Service Instances = Cores Review size of response and time of response Set Number of Service Instances = Cores Put Server Under Load Use JMeter / Visual Studio Load Test /…. Simultaneous requests say 1000x1000 cols/rows Possibly run on server to ignore network? Covering Small Extent – (Data cached by OS) Covering Large Extents – (Can not be Cached) Measure Pixels/Second Use Perfmon – Under Load CPU Total : Should reach 80-90% Available memory > 10% and Constant QueLength : <5 or IdelTime > 5% Local Network Utilization : <90% Disk Benchmark tool – Tests Random Access 8KB, 512KB MPps Simultaneous Requests ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Performance Factors Andrew Sakowicz ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Top 5 tips for good performance and scalability Tune map (each scale) Provide sufficient hardware resources Set appropriate min and max number of instances Test Monitor ArcGIS for Server Performance and Scalability: Optimizing GIS Services

Provide sufficient hardware resources Most systems are CPU bound GIS Systems are bound by: CPU - typically Memory – when large number of services Disk – Image Service, Synchronization Network – low bandwidth deployment Poorly configured virtualization can result in 30% or higher performance degradation Most well-configured and tuned GIS systems are CPU bound.

Process and Tools Type Presentation Title Here

System Tools overview http://www.arcgis.com owner:EnterpriseImp Show ArcGIS Desktop Content

Infrastructure: Hardware and Software Testing process Application GIS Services Infrastructure: Hardware and Software

Enterprise GIS effective monitoring Network Hardware Web Server ArcGIS Server Geodatabase RDBMS End-to-End monitoring using System Monitor To verify resources, must monitor end-to-end ArcGIS Serve key stats Busy Time/Transaction Free instances Throughput

Demo Intermittent slow performance: CPU spike

Demo Scale Based Transactions

Demo Intermittent slow performance: ArcGIS Server free instances

Questions ArcGIS for Server Performance and Scalability: Optimizing GIS Services

First Offering ID: 1225 (Wednesday) Thank you… Please fill out the session survey (session 609): First Offering ID: 1225 (Wednesday) Second Offering ID: 1356 (Thursday) Online – www.esri.com/ucsessionsurveys Paper – pick up and put in drop box ArcGIS for Server Performance and Scalability: Optimizing GIS Services

ArcGIS for Server Performance and Scalability: Optimizing GIS Services