220 likes | 249 Views
Learn hardware configuration, virtualization, service management, caching, image services, and more to optimize ArcGIS Server performance. Improve map service speed and reliability with caching, compression, and geoprocessing fine-tuning.
E N D
Agenda • Hardware configuration • Dev/Staging/Test • Virtualization • Service management • Map service optimization • Caching • Dynamic services • Image services • Cache or no? • Compression • Geoprocessing optimization
Network Loadbalancer Network Loadbalancer DeploymentEnvironments Reverse Proxy Reverse Proxy Staging Virtual Machines (Reflect Production) Production Systems EDN System
Capacity Planning Toolkit • Available on the Enterprise GIS resource center • http://resources.esri.com/enterprisegis/index.cfm?fa=codeGalleryDetails&scriptID=16406 • PDF + Excel calculator
Virtualization • ArcGIS Server is supported on Virtual Servers • What is the cost? • 10%-30% • What to watch out for • Exhausting RAM on physical system • Disk IO • Use SAN, NAS, or DAS storage for Imagery and map cache • Resources • Enterprise resource center: • Virtual Systems: http://resources.esri.com/EnterpriseGIS/index.cfm?fa=performance.infra.virtual • Storage systems: http://resources.esri.com/EnterpriseGIS/index.cfm?fa=performance.infra.storage • VMWare deployment guide: http://www.vmware.com/resources/techresources/10091
Service management • Each service consumes memory • Consider consolidating services • Consider Min instances of 0 One Day
Data Storage • Always use direct connect for Enterprise Geodatabase access • Avoid UNC paths when possible • Local data is always faster • File Geodatabase Replication is an option Map service Staging ArcGIS Server Instance Production ArcGIS Server Instance Map service Geodatabase Replication Multi-user versioned Geodatabase File Geodatabase
Application Considerations • Browser based APIs perform and scale better than Server based APIs Browser based APIs Server based APIs Mixed
Basemaps Geographic frame of reference Contain static vector and raster data Reusable in multiple applications Organize data into logical groupings • Operational Layers • Show a focused item of interest • Support functionality of the application • Displayed on top of base map
BasemapsProvide geographic reference • Use your own resources • Your authoritative data • Use ArcGIS Online as much as you can
Map services • Caching • Optimized map services • Projections • Generalization and cartography
What should I cache? • As much as you can • All base maps • Some operational layers • But my server gets so slow when I update my cache • You should be building cache on your staging server
Cache image format affects cache size / performance • Many colors (Continuous symbology) • JPEG • Small file size for many colors, no transparency • Quality settings range from 55 (orthos) 90 (vector maps) • Fewer colors (~256) • PNG 8 Which one looks better? JPEG 55 – 15KB JPEG 90 – 21KB JPEG 90 – 33KB JPEG 55 – 10KB
Optimized map service • Faster dynamic drawing than ArcIMS • Supports a subset of the most common layer types • Prepare and publish with new Map Services Publishing Toolbar in ArcMap
Process • Open a map document • Analyze • Fix errors • Preview – Shows performance of optimized drawing • Fix warnings • Preview again • Save MSD to same folder as Map Document • Publish just like an MXD
When should I use traditional MXD-based services? • Fine-grained ArcObjects access (eg, Editor Task) • SOAP and REST APIs only for optimized map service • Cartographic representations • Unsupported layer type (TIN, CAD, Network Analyst etc.) • When possible, break out unsupported layers into own services
Symbols and map data • Simple symbols draw faster • http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Optimizing_map_symbols_for_performance • Map data (http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Optimizing_map_content_for_performance) • Avoid Joins for symbology • Simplify your data • More vertices take longer to draw • Use annotation whenever possible • Web help contains more info for optimizing labels: http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Optimizing_map_text_and_labels_for_performance
Projections on the fly • Best: No projections on the fly • Data can be projected through replication • Good: Projections on-the-fly in the map service • Bad: Projection on-the-fly in the map document • Really, really, really bad: a web service projected on-the-fly in a map document projections on-the-fly ok here Avoid projections on-the-fly here
Image Services • Great for • Making imagery available quickly • Modifying the image display (Bands, Tile, Pan Sharpening, etc…) • Modifying Compression • Analysis • Multiple products from the same base imagery • Map cache scales better for basemaps • Avoid MrSID and JPEG 2000 • Best performance using JPEG compressed Tiled TIFF (10x-100x) • Takes processing and could slow down delivery • Need third party tools to create (Fwtools + GDAL) • More available in the desktop help: • http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Optimization_considerations_for_ArcGIS_Image_Server
Geoprocessing services • Pre-compute intermediate steps when possible • Use local paths to data and resources • Avoid unneeded coordinate transformations • Add attribute indexes • Simplify data Detailed instructions on the Resource Center at: http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?id=1061&pid=1044&topicname=Performance_tips_for_geoprocessing_services