Advanced Map Caching Topics

Slides:



Advertisements
Similar presentations
Implementing Tableau Server in an Enterprise Environment
Advertisements

1 How to build and use a Cloud GIS Redlands, California March 8 th – 9 th, 2010 Web Mapping for Conservation Organizations Workshop.
Publishing GIS Services to ArcGIS for Server
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,
Technical Workshops | Esri International User Conference San Diego, California Building Applications with ArcGIS Runtime SDK for Windows Phone Rex Hansen.
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.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California ArcGIS Viewer for Flex—
ArcGIS for Server Reference Implementations An ArcGIS Server’s architecture tour.
Technical Workshops | Esri International User Conference San Diego, California Customizing ArcPad solutions Marika Vertzonis, Gareth Walters, Stephen Quan.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Building Secure Applications.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Administering Your.
Esri International User Conference | San Diego, CA Technical Workshops | Intro to ArcSDE for SQL Server Tony Wakim & Jim Gough July , 2011.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Editing in ArcMap:
Esri International User Conference | San Diego, CA Technical Workshops | ArcGIS for Server Road Ahead Ismael Chivite, Anne Reuland.
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.
Technical Workshops | Esri International User Conference San Diego, California ArcGIS Viewer for Flex – Advanced Topics Lloyd Heberlie Björn Svensson July.
ArcGIS Online for Organizations
ArcGIS Workflow Manager An Introduction
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 UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Generalization for.
Esri UC 2014 | Technical Workshop | ArcGIS Data Reviewer Edwin Waite & Shankar Chandrasekaran Planning and Deploying Data Quality Services.
ArcGIS for Server: Reference Implementations
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
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Road Ahead - ArcGIS.
Advance Map Automation With Python
Portal for ArcGIS An Introduction
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.
ArcGIS Server for Administrators
Esri UC 2014 | Technical Workshop | Python Map Automation – Beyond the Basics of arcpy.mapping Jeff Barrette Jeff Moulds.
Technical Workshops | Esri International User Conference San Diego, California Supporting High-Quality Printing in Web Applications with ArcGIS 10.1 for.
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.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Geodatabase Administration:
ArcGIS Workflow Manager Introduction
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Geocoding – An Introduction.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Supporting High-Quality.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Building Map Books.
Working with Feature Services Gary MacDougall Russell Brennan.
Getting the most out of ArcMap Jack Horton & Jorge Ruiz-Valdepeña.
Esri UC 2014 | Technical Workshop | Creating Geoprocessing Services Kevin Hibma.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Migrating Parcel data.
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.
High-Availability ArcGIS for Server and Application Architecture in Amazon David McGuire.
Jeff Barrette Jeff Moulds
Enhancing Web Map Performance in ArcGIS Online
Geoprocessing with ArcGIS for Server
AWS Cloud Computing Masaki.
Python Map Automation – Beyond the Basics of arcpy.mapping
Best Practices for Designing Effective Map Services: Case Studies
Python Map Automation – Beyond the Basics of arcpy.mapping
ModelBuilder – Getting Started
Editing Parcels with the Local Government Information Model
What’s new ArcGIS 10.1 for Server The Server Framework
Designing and Using Cached Map Services
Presentation transcript:

Advanced Map Caching Topics July 20, 2012 Advanced Map Caching Topics Tom Brenneman Eric Rodenberg

Agenda Advanced topics Best practices Update map caches Caching architecture Performance considerations Caching in the Amazon cloud Recovering from cache failures

Best Practices

Understanding cache structure Bundle 8 x 8 supertiles (4K) Supertile (4096 pixels) 16 x 16 tiles Standard tile 256 x 256 pixels 16, 384 tiles

Supertiles and Labeling ArcGIS Server Draws Large Areas Helps Reduce Duplicate Labels Large Areas are Supertiles Divided into Individual Tiles Duplication May Occur Label Engine Not Aware of Labels on Adjacent Supertiles Use Annotation or MapPlex Labels with Rules Use Map Server Cache Tiling Scheme To Polygons Supertile Boundary

How much of a cache should you generate? Cache by feature Geographic elements Generates tiles for intersecting supertiles Saves on… Generation time Processor resource Disk usage NM highway case study: Build 20 of 64 supertiles for the bundle shown

Creating a test cache Select test area location with most geographic complexity Create a simple feature class covering the test area Generate tiles at all scale levels based on this feature

Setting the Number of Instances Cache Tools Geoprocessing Service Start with N + 1 N = the total number of CPU’s per server in your site (workers) 1 controller Example: x2 - 4 Core GIS Servers/Site = 8CPU + 2 = 10 Instances Max Instances should always be >2 8CPU’s+1= 9 Instances 8 CPU

Controlling the # of instances for a job CachingTools service controls caching instance per machine Manage Map server Cache Tiles controls # of instances per job Set to -1 to use all instances Per job Per machine

Strategic cache creation Feature class covers about 25% of California Contains about 97% of California’s population Caching with this layer saves: 943,000 tiles 9.3 GB of space 17 hours of caching time Bing analysis of access http://hotmap.msresearch.us

The ideal tiles to cache on demand Few simple features Barren homogenous area Rarely accessed Draw relatively fast Large scales only

ArcGIS Server Descriptive Tile Analysis Tile Usage Heat map ArcGIS Server descriptive tile analysis

More tips for caching by feature class Map is automatically published in WGS 84 Web Mercator with Auxiliary Sphere You can create your own tiling scheme Avoid numerous small features Aggregate Polygons tool Dissolve tool Avoid excessive vertices Simplify Polygons tool Tips for caching by feature class blog post

Pre-create coupled with cache on demand Pre-create high use areas Population centers Parks, roads, attractions Features Cover popular extent Dissolve and generalize Generate key tiles All others generated on demand Generated on demand

Handling tiles you do NOT create No Data Create “No Data” tile Same image format (JPG or PNG) Same size (256 x 256) Save in cache folder …\<dataframe>\_alllayers Knowledge base article 36939 has sample files No Data

Updating Map Caches

Updating a cache Architecture Implementation Using a staging server Using a cluster Implementation Geoprocessing

Cache update strategies Rebuild the entire cache Size of cache Time to cache Rebuild specific tiles Rebuild at specific scales Rebuild areas based on change detection

Cache Update Automation Use Model Builder to script Cache Update Automation Rebuild Specific Tiles Export to Python Schedule Run Time Compare feature classes Show edits since reconcile

Strategic cache updates

System architecture for caching

Update a cache using a staging server Staging ArcGIS Server Instance Production ArcGIS Server Instance Map service All layers for cartography of map service Layers for TOC and Query Map service Copy cache Cache folder Cache folder (On-demand caching needs the full map to build the cache) State of Indiana Imagery With Metadata

Update a cache and data using a staging server Staging ArcGIS Server Instance Production ArcGIS Server Instance All layers for cartography of map service Copy cache Layers for TOC and Query Map service Map service Cache folder Cache folder Geodatabase Replication Multi-user versioned Geodatabase Geodatabase (File or Multi-user)

Multi-Machine Deployment With Web Adaptor & Clusters Organize GIS Servers into Groups or Clusters Run subset of services on clusters Generate Cache http:80 Web Server Web Adaptor ArcGIS Site http:6080 http:6080 http:6080 Cluster 1 Cluster 2 GIS Server C GIS Server B GIS Server A Generate Cache or serve GP tasks on cluster 1 Server Dirs Config-Store Serve map services & cache on cluster 2

Generate using multiple LAN hosts Configure instances for CPU’s on all SOC hosts Enable “Use local cache directory…” Temp Directory GIS Server A Temp Directory Shared Directory GIS Server B Temp Directory GIS Server C

Caching in the Amazon Cloud

ArcGIS Server Cloud Builder for Amazon Web Services Quickly provision Amazon Web Service Instances Linux - This Is Awesome !!!! Windows Supports Auto Scaling Set capacity thresholds Scale up new EC2 instances when needed Scale down EC2 instances when finished Did I mention Linux?

Building cache in the cloud Likely it is more efficient to build the cache in the cloud Transfer options: ArcGIS Server, RDP, S3, FTP, AWS Import/Export Use Large instances High-memory instances Auto-scaling? Maybe if you can’t monitor the job very closely

Building cache in the cloud

Copying caches Compact cache Exploded cache RoboCopy or RichCopy Windows Copy/Paste inefficient for large caches Use RichCopy or RoboCopy command Use Multiple Directory Copy Threads /D switch will only copy new tiles *Multiple Threads: 40 **Directory Copy Threads: 40 Cache Type Size on Disk Size Number of Files RoboCopy* XCopy Windows Copy/Paste Rich Copy** Compact Cache 1.43 GB 115 2:08 2:28 2:26 2:12 Exploded Cache 2.22 GB 508,716 3:44:34 6:41:02 6:32:58 2:39:16

Performance Considerations

Disk maintenance Turn off backup Turn off virus scanning

HTTP connections Turn On HTTP KeepAlive for best performance Multiple image requests don’t need to open a new connection Biggest benefit with one host (~2-3 times faster tile requests) Apache: KeepAlive directive IIS

Cache distribution HTTP 1.1 spec constricts browsers to two simultaneous downloads Improve cache retrieval performance by using multiple hosts Can be one server with multiple DNS entries (cache1.mydomain.com, cache2.mydomain.com) Geographically distribute ArcGIS Server instances

Using multiple domains With multiple services Use a different domain for each services With one service API’s support multiple web services endpoints for a single layer Use with small cache tiles Can reduce browser caching and result in more HTTP connections var layer = new esri.layers.ArcGISTiledMapServiceLayer( "http://www.mydomain.com/ArcGIS/rest/services/myservice/MapServer", { tileServers: [ " http://cache1.mydomain.com/ArcGIS/rest/services/myservice/MapServer ", " http://cache2.mydomain.com/ArcGIS/rest/services/myservice/MapServer “] });

Switching to a Dynamic Request Supported by Map Service & the Web API’s Force a Cached Service to Render Dynamic Use ArcGISDynamicMapServiceLayer(Cached Service URL) Render cached tiles from smaller scales levels 0 – 15 Render dynamic services at larger scale levels 16 – 19 Large scales = less area to draw features = faster Scale Levels 10 – 17 Cached Scale Levels 18 – 19 Forced Dynamic Draw Java Script API – Dynamic Draw

Recovering from Cache Failures

Cache failure & recovery – Out of the box Out of the box tools Course Grained for locating extents Fix errors re-caches extents where errors were reported Report Errors… Fix Errors Export Errors to File…

Cache failure & recovery – sample tools Cache Validation Tools Fine grained for locating tiles by file size

Other Caching Resources Compare feature classes Show edits since reconcile Derive map service statistics from the ArcGIS Server logs Write requested map extents to a feature class Tile Usage Heat map ArcGIS Server descriptive tile analysis Web GIS Blog

Relevant Sessions Publishing Image Services in ArcGIS Thu 7/26/2012 -- 8:30 AM - 9:45 AM Room 28D Advanced Map Caching Topics Thu 7/26/2012 -- 8:30 AM - 9:45 AM Room 10 Best practices for caching imagery in services Thu 7/26/2012 -- 11:00 AM - 11:30AM Demo Theater Thu 7/26/2012 -- 3:15 PM - 3:35 AM Room 28D Map Caching: Tips from ArcGIS Online Team Wed 7/26/2012 – 3:15 PM – 3:35 PM Room 01B

Steps to evaluate UC sessions My UC Homepage > “Evaluate Sessions” Choose session from planner OR Search for session www.esri.com/ucsurveysessions

Thank you for attending Have fun! Open for Questions Please fill out the evaluation: www.esri.com/ucsessionsurveys First Offering ID: 667 Second Offering ID: 1922