22
2010 2010 Indiana GIS Conference Indiana GIS Conference ESRI Technical Session ESRI Technical Session February 24, 2010 ArcGIS Server Performance Tuning ArcGIS Server Performance Tuning Tom Brenneman Tom Brenneman

2010 Indiana GIS Conference ESRI Technical Session 2010 Indiana GIS Conference ESRI Technical Session February 24, 2010 ArcGIS Server Performance Tuning

Embed Size (px)

Citation preview

20102010 Indiana GIS Conference Indiana GIS ConferenceESRI Technical SessionESRI Technical Session

February 24, 2010

ArcGIS Server Performance TuningArcGIS Server Performance Tuning

Tom BrennemanTom Brenneman

AgendaAgenda

• Hardware configurationHardware configuration–Dev/Staging/TestDev/Staging/Test–VirtualizationVirtualization

• Service managementService management•Map service optimizationMap service optimization–CachingCaching–Dynamic servicesDynamic services

• Image servicesImage services–Cache or no?Cache or no?–CompressionCompression

• Geoprocessing optimizationGeoprocessing optimization

DeploymentDeploymentEnvironmentsEnvironments

Staging Virtual Machines(Reflect Production)

EDN System Production Systems

Reverse ProxyReverse ProxyReverse ProxyReverse Proxy

Network LoadbalancerNetwork Loadbalancer Network LoadbalancerNetwork Loadbalancer

Capacity Planning ToolkitCapacity Planning Toolkit

• Available on the Enterprise GIS resource centerAvailable on the Enterprise GIS resource center• http://resources.esri.com/enterprisegis/index.cfm?fa=codeGallery

Details&scriptID=16406 • PDF + Excel calculatorPDF + Excel calculator

VirtualizationVirtualization

• ArcGIS Server ArcGIS Server is supported on Virtual Serverson Virtual Servers

• What is the cost?What is the cost?– 10%-30%10%-30%

• What to watch out forWhat to watch out for– Exhausting RAM on physical systemExhausting RAM on physical system

– Disk IODisk IO• Use SAN, NAS, or DAS storage for Imagery and map cacheUse SAN, NAS, or DAS storage for Imagery and map cache

• ResourcesResources– Enterprise resource center:Enterprise resource center:• Virtual Systems: Virtual Systems:

http://resources.esri.com/EnterpriseGIS/index.cfm?fa=performance.infra.virtual

• Storage systems: Storage systems: http://resources.esri.com/EnterpriseGIS/index.cfm?fa=performance.infra.storage

– VMWare deployment guide: VMWare deployment guide: http://www.vmware.com/resources/techresources/10091

Service managementService management

• Each service consumes memoryEach service consumes memory• Consider consolidating servicesConsider consolidating services• Consider Min instances of 0Consider Min instances of 0

One Day

Data StorageData Storage

• Always use direct connect for Enterprise Geodatabase accessAlways use direct connect for Enterprise Geodatabase access• Avoid UNC paths when possibleAvoid UNC paths when possible

– Local data is always fasterLocal data is always faster

– File Geodatabase Replication is an optionFile Geodatabase Replication is an option

Production ArcGIS Server Instance

Staging ArcGIS Server Instance

Map serviceMap service

Multi-user versioned Geodatabase File Geodatabase

Geodatabase Replication

Application ConsiderationsApplication Considerations

• Browser based APIs perform and scale better than Server based Browser based APIs perform and scale better than Server based APIsAPIs

Browser based APIs

Server based APIs Mixed

Poor application design trumps everythingPoor application design trumps everything

Organize data into logical groupings Organize data into logical groupings

BasemapsBasemaps

Geographic frame of referenceGeographic frame of reference

Contain static vector and raster dataContain static vector and raster data

Reusable in multiple applicationsReusable in multiple applications

Operational Layers Operational Layers

Show a focused item of interestShow a focused item of interest

Support functionality of the applicationSupport functionality of the application

Displayed on top of base mapDisplayed on top of base map

BasemapsBasemapsProvide geographic referenceProvide geographic reference

• Use your own resourcesUse your own resources– Your authoritative dataYour authoritative data

• Use ArcGIS Online as much as you canUse ArcGIS Online as much as you can

Map servicesMap services

• CachingCaching• Optimized map servicesOptimized map services• ProjectionsProjections• Generalization and cartographyGeneralization and cartography

What should I cache?What should I cache?

• As much as you canAs much as you can• All base mapsAll base maps• Some operational layersSome operational layers

• But my server gets so slow when I update my cacheBut my server gets so slow when I update my cache– You should be building cache on your staging serverYou should be building cache on your staging server

JPEG 55 – 15KB JPEG 90 – 33KB

Which one looks better?

Cache image format affects cache size / performanceCache image format affects cache size / performance

• Many colors (Continuous symbology)Many colors (Continuous symbology)• JPEGJPEG• Small file size for many colors, no transparencySmall file size for many colors, no transparency• Quality settings range from 55 (orthos) Quality settings range from 55 (orthos) 90 (vector maps) 90 (vector maps)

• Fewer colors (~256)Fewer colors (~256)– PNG 8PNG 8

JPEG 90 – 21KB JPEG 55 – 10KB

Optimized map serviceOptimized map service

• Faster dynamic drawing than ArcIMSFaster dynamic drawing than ArcIMS

• Supports a subset of the most common layer typesSupports a subset of the most common layer types

• Prepare and publish with new Map Services Publishing Toolbar in Prepare and publish with new Map Services Publishing Toolbar in ArcMapArcMap

ProcessProcess

• Open a map documentOpen a map document• AnalyzeAnalyze• Fix errorsFix errors• Preview – Shows performance of optimized drawingPreview – Shows performance of optimized drawing• Fix warningsFix warnings• Preview againPreview again• Save MSD to same folder as Map DocumentSave MSD to same folder as Map Document• Publish just like an MXDPublish just like an MXD

When should I use traditional MXD-based services?When should I use traditional MXD-based services?

• Fine-grained ArcObjects access (eg, Editor Task)Fine-grained ArcObjects access (eg, Editor Task)– SOAP and REST APIs only for optimized map serviceSOAP and REST APIs only for optimized map service

• Cartographic representationsCartographic representations

• Unsupported layer type (TIN, CAD, Network Analyst etc.)Unsupported layer type (TIN, CAD, Network Analyst etc.)–When possible, break out unsupported layers into own servicesWhen possible, break out unsupported layers into own services

Symbols and map dataSymbols and map data

• Simple symbols draw fasterSimple symbols draw faster– http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Optimizin

g_map_symbols_for_performance

• Map data (Map data (http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Optimizing_map_content_for_performance) ) – Avoid Joins for symbologyAvoid Joins for symbology

– Simplify your dataSimplify your data• More vertices take longer to drawMore vertices take longer to draw

• Use annotation whenever possibleUse annotation whenever possible–Web help contains more info for optimizing labels: Web help contains more info for optimizing labels:

http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Optimizing_map_text_and_labels_for_performance TopicName=Optimizing_map_text_and_labels_for_performance

Projections on the flyProjections on the fly

• Best: No projections on the flyBest: No projections on the fly– Data can be projected through Data can be projected through

replicationreplication

• Good: Projections on-the-fly in the Good: Projections on-the-fly in the map servicemap service• Bad: Projection on-the-fly in the Bad: Projection on-the-fly in the

map documentmap document• Really, really, really bad: a web Really, really, really bad: a web

service projected on-the-fly in a service projected on-the-fly in a map documentmap document

Avoid Avoid projections projections on-the-fly on-the-fly

herehere

projections projections on-the-fly ok on-the-fly ok

herehere

Image ServicesImage Services

• Great forGreat for– Making imagery available quickly Making imagery available quickly – Modifying the image display (Bands, Tile, Pan Sharpening, etc…)Modifying the image display (Bands, Tile, Pan Sharpening, etc…)– Modifying CompressionModifying Compression– AnalysisAnalysis– Multiple products from the same base imageryMultiple products from the same base imagery

• Map cache scales better for basemapsMap cache scales better for basemaps• Avoid MrSID and JPEG 2000Avoid MrSID and JPEG 2000• Best performance using JPEG compressed Tiled TIFF (10x-100x)Best performance using JPEG compressed Tiled TIFF (10x-100x)

– Takes processing and could slow down deliveryTakes processing and could slow down delivery– Need third party tools to create (Fwtools + GDAL)Need third party tools to create (Fwtools + GDAL)

• More available in the desktop help:More available in the desktop help:– http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?

TopicName=Optimization_considerations_for_ArcGIS_Image_Server TopicName=Optimization_considerations_for_ArcGIS_Image_Server

Geoprocessing servicesGeoprocessing services

• Pre-compute intermediate steps when possiblePre-compute intermediate steps when possible

• Use local paths to data and resourcesUse local paths to data and resources

• Avoid unneeded coordinate transformationsAvoid unneeded coordinate transformations

• Add attribute indexesAdd attribute indexes

• Simplify dataSimplify data

Detailed instructions on the Resource Center at:Detailed instructions on the Resource Center at:

http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?id=1061&pid=1044&topicname=Performance_tips_for_geoprocessing_sid=1061&pid=1044&topicname=Performance_tips_for_geoprocessing_services ervices

20102010 Indiana GIS Conference Indiana GIS ConferenceESRI Technical SessionESRI Technical Session

February 24, 2010

Questions?Questions?