Upload
isaac-boyd
View
224
Download
2
Tags:
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
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