Upload
others
View
32
Download
0
Embed Size (px)
Citation preview
ArcGISArcGIS Server Performance and ScalabilityServer Performance and Scalability——Performance Factors and OptimizationPerformance Factors and Optimization
Andrew SakowiczAndrew Sakowicz
Eric MillerEric Miller
11UC2009 Technical WorkshopUC2009 Technical Workshop
IntroductionsIntroductions
•• Who are we?Who are we?
–– ArcGISArcGIS Server Product DevelopmentServer Product Development
–– Enterprise Implementation Enterprise Implementation
•• Assumptions about you, our audience:Assumptions about you, our audience:
–– Familiar with Familiar with ArcGISArcGIS DesktopDesktop–– Familiar with Familiar with ArcGISArcGIS DesktopDesktop
–– Basic knowledge of Basic knowledge of ArcGISArcGIS Server Architecture and conceptsServer Architecture and concepts
–– Comfortable with Web architecturesComfortable with Web architectures
22UC2009 Technical WorkshopUC2009 Technical Workshop
Schedule and OverviewSchedule and Overview
ArcGISArcGIS Server deploymentServer deployment and optimization strategiesand optimization strategies
–– Case Studies: Optimizing web apps that consume Case Studies: Optimizing web apps that consume ArcGISArcGIS Server ServicesServer Services
Key performance factors in Key performance factors in ArcGISArcGIS Server system componentsServer system components–– Key performance factors in Key performance factors in ArcGISArcGIS Server system componentsServer system components
–– Optimizing components prior to deploymentOptimizing components prior to deployment
–– Recommended deployment architecturesRecommended deployment architectures
–– Primer: Tuning Primer: Tuning ArcGISArcGIS Server deployments inServer deployments in--situsitu
Question and answer period.Question and answer period.
33
Please complete the session survey!Please complete the session survey!
UC2009 Technical WorkshopUC2009 Technical Workshop
Case Studies: Poorly performing Web ApplicationsCase Studies: Poorly performing Web ApplicationsDemos:Demos:
Demo: Client-side graphics vs. dynamic map service
44
Demo: Dynamic MapService Map Draw
UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors in Performance Factors in ArcGISArcGIS Server System ComponentsServer System Components
•• Machine ArchitectureMachine Architecture
•• Data SourcesData Sources
•• ArcGISArcGIS Server FrameworkServer Framework
•• ArcGISArcGIS Server servicesServer services
•• Client applications and the ADFClient applications and the ADF
55
Goal: Show how to optimize these components to deliver Goal: Show how to optimize these components to deliver highly performing highly performing ArcGISArcGIS Server deployments.Server deployments.
UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Machine ArchitecturePerformance Factors: Machine ArchitectureSelect adequate hardware to support desired performance and loadSelect adequate hardware to support desired performance and load
•• PerformancePerformance
–– CPU SpeedCPU Speed
•• Published benchmarks: http://www.spec.org/cpu2006/results/cint2006.htmlPublished benchmarks: http://www.spec.org/cpu2006/results/cint2006.html
•• Mapping: Select CPU with the highest Baseline CINT Rate/CoreMapping: Select CPU with the highest Baseline CINT Rate/Core
•• GP: Select CPU with highest Baseline CFP Rate/CoreGP: Select CPU with highest Baseline CFP Rate/Core
–– Disk speedDisk speed
•• 15K RPM SAS Disks15K RPM SAS Disks
–– Network latencyNetwork latency–– Network latencyNetwork latency
•• Fast switchesFast switches
–– Memory Bus SpeedMemory Bus Speed
•• CapacityCapacity
–– # CPU cores# CPU cores
–– Network bandwidthNetwork bandwidth
•• Gigabit switches and NICs in Full Duplex modeGigabit switches and NICs in Full Duplex mode
–– # Disks and controllers# Disks and controllers
–– Amount of RAMAmount of RAM66UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Data SourcesPerformance Factors: Data SourcesSelect data source that provide optimal performanceSelect data source that provide optimal performance
•• VectorVector
–– Data provider: DBMS, Data provider: DBMS, FileGDBFileGDB, , ShapefileShapefile, SDC, SDC
–– Storage type: ESRI Storage type: ESRI ST_GeometryST_Geometry, Oracle SDO, SQL Server Geometry, Oracle SDO, SQL Server Geometry
•• RasterRaster
–– Data provider: Image Server, Data provider: Image Server, FileGDBFileGDB, DBMS, SDC, DBMS, SDC
–– Compression: LZ77, JPEG, PNGCompression: LZ77, JPEG, PNG–– Compression: LZ77, JPEG, PNGCompression: LZ77, JPEG, PNG
77
Conduct a simple benchmark to select optimal data source formatConduct a simple benchmark to select optimal data source formatAttend Attend ArcGISArcGIS Server Performance and Scalability Server Performance and Scalability –– Testing sessionTesting session
UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Data SourcesPerformance Factors: Data SourcesRepresentative comparison of throughput variances based on service source data.Representative comparison of throughput variances based on service source data.
60000
80000
100000
120000
140000
Th
rou
gh
pu
t (T
r/H
r)
Low Complexity Map: Throughput vs. data source
0
20000
40000
FGDB_Local_URL SHP_Local_URL Ora11g_AS_URL SQLSvr_AS_URL Postgres_AS_URL
Th
rou
gh
pu
t (T
r/H
r)
88
Machine Specs: 4, 2.5GHz Dual-core CPU, 8GB RAM
UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Data SourcesPerformance Factors: Data Sources
•• Local vs. UNCLocal vs. UNC
–– Locally sourced data always results in better throughput.Locally sourced data always results in better throughput.
100000
120000
Th
rou
gh
pu
t (T
r/H
r)
High Complexity Map Service: Local vs. UNC (1 SOC)
99
0
20000
40000
60000
80000
FGDB_Local_URL FGDB_UNC_URL SHP_Local_URL SHP_UNC_URL
Th
rou
gh
pu
t (T
r/H
r)
UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Data SourcesPerformance Factors: Data SourcesOptimize DBMS configuration and conduct maintenanceOptimize DBMS configuration and conduct maintenance
•• DBMS configurationDBMS configuration
•• Create and maintain (rebuild) attribute indexesCreate and maintain (rebuild) attribute indexes
•• Updating DBMS statisticsUpdating DBMS statistics
•• Versioning managementVersioning management
–– Reconcile and postReconcile and post
–– CompressCompress
1010
NonNon-- optimal DBMS may be a source of significant performance degradationoptimal DBMS may be a source of significant performance degradation
UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Performance Factors: ArcGISArcGIS Server FrameworkServer FrameworkSOMSOM
•• 165 map draw requests/sec per core165 map draw requests/sec per core
•• 60% CPU utilization on SOM machine60% CPU utilization on SOM machine
•• 0.027 seconds average response time0.027 seconds average response time
1111UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Performance Factors: ArcGISArcGIS Server FrameworkServer FrameworkWeb Service ComponentsWeb Service Components
•• Web service handlersWeb service handlers
–– Easily overloaded by MIME data (REST/SOAP returning MIME)Easily overloaded by MIME data (REST/SOAP returning MIME)
•• Network saturationNetwork saturation
–– 72 cores can approach 40% Gigabit utilization72 cores can approach 40% Gigabit utilization
–– Network I/O (fullNetwork I/O (full--duplex)duplex)
•• CPU utilizationCPU utilization
–– Use multiple Web InstancesUse multiple Web Instances
•• Virtual DirectoriesVirtual Directories
–– Virtual output directory bottlenecksVirtual output directory bottlenecks
•• Network saturationNetwork saturation
•• Disk performanceDisk performance
–– Use multiple output directories on different machines.Use multiple output directories on different machines.
1212UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Performance Factors: ArcGISArcGIS Server FrameworkServer FrameworkWeb Service ComponentsWeb Service Components
•• MIME MIME vsvs URL return typeURL return type
–– For serving maps, MIME can scale better than URLFor serving maps, MIME can scale better than URL
•• Disk and UNC shares are often bottlenecks before network bandwidthDisk and UNC shares are often bottlenecks before network bandwidth
–– MIME performs better with smaller imagesMIME performs better with smaller images
180000
MIME vs. URL
1313UC2009 Technical WorkshopUC2009 Technical Workshop
0
20000
40000
60000
80000
100000
120000
140000
160000
180000
FGDB_Local_MIME FGDB_Local_URL
Th
rou
gh
pu
t (T
r/H
r)
High Complexity Map (large images)
Low Complexity Map (small images)
Performance Factors: Performance Factors: ArcGISArcGIS Server FrameworkServer FrameworkWeb ServicesWeb Services
•• SecuritySecurity
–– SSLSSL
–– LSASSLSASS
•• http://support.esri.com/index.cfm?fa=knowledgebase.techarticles.articleShohttp://support.esri.com/index.cfm?fa=knowledgebase.techarticles.articleShow&d=32620w&d=32620w&d=32620w&d=32620
–– Web Tier SecurityWeb Tier Security
•• User/Role StoresUser/Role Stores
•• Token ServerToken Server
1414UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Performance Factors: ArcGISArcGIS Server FrameworkServer FrameworkSOCSOC
•• Optimal number of instances does vary significantly by complexity of Optimal number of instances does vary significantly by complexity of service (complex map or GP model) and choice of source data type.service (complex map or GP model) and choice of source data type.
•• Varies in practice from 1 to 4 highVaries in practice from 1 to 4 high--isolation instances per CPU coreisolation instances per CPU core
3
3.5
Insta
nces p
er
CP
U c
ore
at
Max T
hro
ug
hp
ut
Variance of Service Instances by Source Data Type
1515
0
0.5
1
1.5
2
2.5
FGDB_Local FGDB_UNC SHP_Local SHP_UNC Ora11g_AS Ora11g_DC SQLSvr_AS SQLSvr_DC
Insta
nces p
er
CP
U c
ore
at
Max T
hro
ug
hp
ut
UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Performance Factors: ArcGISArcGIS Server ServicesServer ServicesMapServiceMapService
•• MxdMxd
–– Optimizing map symbols for performanceOptimizing map symbols for performance
–– Spatial indexSpatial index
–– Projecting on the flyProjecting on the fly
–– Optimizing map text and labels for performanceOptimizing map text and labels for performance
•• Use annotationsUse annotations
•• Avoid Avoid maplexmaplex
–– Use fast joins (no cross db joins)Use fast joins (no cross db joins)
–– Avoid wavelet compressionAvoid wavelet compression--based raster types (MrSid,JPEG2000)based raster types (MrSid,JPEG2000)
1616UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Performance Factors: ArcGISArcGIS Server ServicesServer ServicesMapServiceMapService
•• MxdMxd
–– Simplify dataSimplify data
–– Set scale dependencySet scale dependency
•• Tuning Tools: Tuning Tools:
–– MxdPerfStatMxdPerfStat
–– ArcMapArcMap 9.3.1 Analyzer Tool9.3.1 Analyzer Tool
1717UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Performance Factors: ArcGISArcGIS Server Map ServicesServer Map ServicesOptimizing Optimizing mxdmxd with with MXDPerfStatMXDPerfStathttp://arcscripts.esri.com/scripts.asp?eLang=&eProd=&perPage=10&eQuery=mxdperfstathttp://arcscripts.esri.com/scripts.asp?eLang=&eProd=&perPage=10&eQuery=mxdperfstatC:>C:>mxdperfstatmxdperfstat --mxdmxd Portland_Dev09_Bad.mxd Portland_Dev09_Bad.mxd --xyxy 7655029;652614 7655029;652614 --scale 8000 scale 8000
1818UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Performance Factors: ArcGISArcGIS Server Services Server Services Demo: Optimizing Demo: Optimizing mxdmxd with with MXDPerfStatMXDPerfStat
•• Focus on performance impact of:Focus on performance impact of:
–– Scale dependency (Scale dependency (SDE.TaxSDE.Tax Lots)Lots)
–– Labeling on dense features (Labeling on dense features (TaxlotDenseLabelTaxlotDenseLabel))
–– Query Definition (Tax Lots Query Def)Query Definition (Tax Lots Query Def)
1919UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Performance Factors: ArcGISArcGIS Server Services Server Services Demo: Optimizing Demo: Optimizing mxdmxd with with MXDPerfStatMXDPerfStat
2020UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Performance Factors: ArcGISArcGIS Server Services Server Services MapServiceMapService
Optimizing Optimizing mxdmxd with new with new ArcMapArcMap 9.3.1 Analyze Tool9.3.1 Analyze Tool
2121UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Performance Factors: ArcGISArcGIS Server Services Server Services MapServiceMapService
•• Optimizing MXDs with the new Optimizing MXDs with the new ArcMapArcMap 9.3.1 Analyze Tool: DEMO9.3.1 Analyze Tool: DEMO
2222UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Performance Factors: ArcGISArcGIS Server Services (Server Services (MapServiceMapService))Uncorrected vs. Corrected Source Uncorrected vs. Corrected Source ArcMapArcMap DocumentDocument
Th
rou
gh
pu
t (T
ran
sacti
on
s/H
r)
65800
Corrected(Unloaded TT: 0.34 sec)
(2.1 Instances/core)
2520
13
Number of Instances
Th
rou
gh
pu
t (T
ran
sacti
on
s/H
r)
17
(2.1 Instances/core)
Uncorrected(Unloaded TT: 11.97 sec)
(1.6 Instances/core)
2323UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Performance Factors: ArcGISArcGIS Server ServicesServer ServicesMapServiceMapService
•• Cache base mapCache base map
•• Display the operational layer as a cached map serviceDisplay the operational layer as a cached map service
–– if your operational dataset changes infrequentlyif your operational dataset changes infrequently
•• Display the operational layer as clientDisplay the operational layer as client--side graphicsside graphics
–– Do not fetch large amounts of featuresDo not fetch large amounts of features
•• Can take a long time to stream features to client.Can take a long time to stream features to client.
•• Can take a long time to render in client.Can take a long time to render in client.
2424UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Performance Factors: ArcGISArcGIS Server ServicesServer ServicesMapServiceMapService
Demo: ClientDemo: Client--side graphics vs. dynamic map serviceside graphics vs. dynamic map service
2525UC2009 Technical WorkshopUC2009 Technical Workshop
Performance factors: Performance factors: ArcGISArcGIS Server Services Server Services MapServiceMapService
Demo: Measuring map service Demo: Measuring map service
private function onCreationComplete():void
{
logger.text += getTimer() + ' ms: Application creation completed.\n';
myThematicLayer.addEventListener(Event.COMPLETE, onTilesLoaded)
myMap.addEventListener(PanEvent.PAN_START, onPanStart);
myMap.addEventListener(ZoomEvent.ZOOM_START, onZoomStart);
}
private function onTilesLoaded(event:Event):void
{
2626
if (panStartFlag){
TimeTileComplete = getTimer() - TimeTileStart ;
TimeTileStart = 0
logger.text += "Tiles took " + TimeTileComplete + " ms to pan.\n";
panStartFlag = false;
}
if (zoomStartFlag){
TimeTileComplete = getTimer() - TimeTileStart ;
TimeTileStart = 0
logger.text += "Tiles took " + TimeTileComplete + " ms to Zoom.\n";
zoomStartFlag= false;
}
}
UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Performance Factors: ArcGISArcGIS Server Services Server Services MapServiceMapServiceDemo: Measuring clientDemo: Measuring client--side graphicsside graphics
private function doThematicQuery():void
{
myGraphicsLayer.clear();
queryTask.url = textQueryURL.text.toString();
logger.text += getTimer() + " ms: Starting query...\n";
TimeQueryStart = getTimer();
queryTask.execute( query, new AsyncResponder( onResult, onFault ));
2727
myGraphicsLayer.addEventListener(FlexEvent.UPDATE_COMPLETE,graphicsLayerUpdated);
function onResult( featureSet : FeatureSet, token : Object = null ) : void
{
TimeQueryDone = getTimer();
var TimeQueryDiff:uint = getTimer() - TimeQueryStart;
logger.text += getTimer() + " ms: Query took " + TimeQueryDiff + " ms";
logger.text += " [" + myGraphicsLayer.numGraphics + " features].\n";
}
UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Performance Factors: ArcGISArcGIS Server Services Server Services GPServiceGPService
•• Use Local Jobs Directory Use Local Jobs Directory
––Greatest single performance factor.Greatest single performance factor.
––9.3.1 allows simple deployment9.3.1 allows simple deployment
•• Subset very large Subset very large rastersrasters•• Subset very large Subset very large rastersrasters
•• Use native types like GRIDUse native types like GRID
•• Use Layers instead of raw data from dbUse Layers instead of raw data from db
•• Use inUse in--memory feature data setsmemory feature data sets
2828UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Performance Factors: ArcGISArcGIS Server Services Server Services GPServiceGPService
•• PrePre--compute intermediate steps when possiblecompute 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•• Add attribute indexesAdd attribute indexes
•• Simplify dataSimplify data
Detailed instructions on the Detailed instructions on the Resource CenterResource Center at:at:
http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?id=1061&pid=1044&tohttp://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?id=1061&pid=1044&topicname=Performance_tips_for_geoprocessing_servicespicname=Performance_tips_for_geoprocessing_services
2929UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Performance Factors: ArcGISArcGIS Server Services Server Services Image ServiceImage Service
•• JPEG compressed TIFF is the best performer by far (10JPEG compressed TIFF is the best performer by far (10--100x 100x faster)faster)
•• TiledTiled rastersrasters even faster than single TIFFeven faster than single TIFF
3030UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Performance Factors: ArcGISArcGIS Server Services Server Services GeocodeGeocode and Globe Servicesand Globe Services
•• GeocodeGeocode ServicesServices
–– Use Use ArcSDEArcSDE address locators for single address address locators for single address geocodinggeocoding
–– Use local locator files instead of UNC locator files for batch Use local locator files instead of UNC locator files for batch geocodinggeocoding
•• Globe ServicesGlobe Services
–– Use BillUse Bill--boarded label annotations.boarded label annotations.–– Use BillUse Bill--boarded label annotations.boarded label annotations.
3131UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Performance Factors: ArcGISArcGIS Server Services Server Services Mobile ServiceMobile Service
•• Document PreparationDocument Preparation
–– Minimize operational layersMinimize operational layers
–– Cache Cache basemapbasemap layerslayers
•• Service ConfigurationService Configuration–– Try to keep total service cache size under 250 MB to avoid network swapping. Try to keep total service cache size under 250 MB to avoid network swapping. –– Try to keep total service cache size under 250 MB to avoid network swapping. Try to keep total service cache size under 250 MB to avoid network swapping.
–– Upload/Download size limits (200K upload/4MB download) Upload/Download size limits (200K upload/4MB download) http://www.banmanpro.com/support2/File_Upload_limits.asphttp://www.banmanpro.com/support2/File_Upload_limits.asp
•• Usage considerationsUsage considerations
–– Avoid batch postings in favor of frequent updatesAvoid batch postings in favor of frequent updates
3232UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Performance Factors: ArcGISArcGIS Server Services Server Services GeodataGeodata ServiceService
•• Data PreparationData Preparation
–– Perform regular version maintenance (keep versioning tree Perform regular version maintenance (keep versioning tree small, compress, schedule synchronizations, etc) small, compress, schedule synchronizations, etc) http://blogs.esri.com/Dev/blogs/geodatabase/archive/2008/11/25/Geodahttp://blogs.esri.com/Dev/blogs/geodatabase/archive/2008/11/25/Geodatabasetabase--replicationreplication--andand--compress.aspxcompress.aspx
–– Use 1 way replicas over 2 way replicas when possibleUse 1 way replicas over 2 way replicas when possible
–– Consider 2 way replicas instead of checkConsider 2 way replicas instead of check--out replicasout replicas
–– WellWell--defined data modeldefined data model
3333UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Performance Factors: ArcGISArcGIS Server Services Server Services GeodataGeodata ServiceService
•• Service ConfigurationService Configuration
–– Server Object usage timeout (set larger than 10 min default)Server Object usage timeout (set larger than 10 min default)
–– Upload/Download default IIS size limits (200K upload/4MB download)Upload/Download default IIS size limits (200K upload/4MB download)
•• Usage considerationsUsage considerations•• Usage considerationsUsage considerations
–– Client HTTP timeout Client HTTP timeout http://support.esri.com/index.cfm?fa=knowledgebase.techarticles.artichttp://support.esri.com/index.cfm?fa=knowledgebase.techarticles.articleShow&d=35971leShow&d=35971
–– http://support.esri.com/index.cfm?fa=knowledgebase.techarticles.artichttp://support.esri.com/index.cfm?fa=knowledgebase.techarticles.articleShow&d=35972leShow&d=35972
3434UC2009 Technical WorkshopUC2009 Technical Workshop
Performance Factors: Client Applications and the ADFPerformance Factors: Client Applications and the ADF
•• Meet functional requirementsMeet functional requirements
•• Ensure highest performance and scalabilityEnsure highest performance and scalability
•• Leverage existing skills and standardsLeverage existing skills and standards
•• Different API’s have different performance and functionality profiles, e.g.Different API’s have different performance and functionality profiles, e.g.
•• .Net.Net ADFADF•• .Net.Net ADFADF
•• Java ADFJava ADF
•• JavaScriptJavaScript
•• Flex APIFlex API
•• SilverLightSilverLight
3535
Conduct a simple benchmark to select optimal solutionConduct a simple benchmark to select optimal solutionAttend Attend ArcGISArcGIS Server Performance and Scalability Server Performance and Scalability –– Testing sessionTesting session
0.8
0.85
0.9
0.95
1
1.05
1.1
1.15
.NET ADF FlexResp
[on
se T
ime (
sec)
ADF vs. Flex Application Simple Dynamic Map
Rendering Comparison
UC2009 Technical WorkshopUC2009 Technical Workshop
Testing Testing ArcGISArcGIS Server Architectures (Data/Maps)Server Architectures (Data/Maps)
MapServiceMapService DescriptionDescription
•• High ComplexityHigh Complexity
–– 20 vector layers20 vector layers
–– 3 raster layers3 raster layers
–– Return image size ~ 100Return image size ~ 100--300 K300 K
–– Long transaction times (~0.3 sec)Long transaction times (~0.3 sec)
High Complexity
•• Low ComplexityLow Complexity
–– 1 vector layer1 vector layer
–– Return image size ~ 5Return image size ~ 5--50 K50 K
–– Short transaction times (0.06 sec)Short transaction times (0.06 sec)
•• BothBoth
–– 9.3.1 Fast “Optimized” 9.3.1 Fast “Optimized” MapServiceMapService
–– Data local on SOC machinesData local on SOC machines
–– FGDB dataFGDB data
Low Complexity
3636UC2009 Technical WorkshopUC2009 Technical Workshop
Testing Testing ArcGISArcGIS Server Architectures (Methodology)Server Architectures (Methodology)
•• SoftwareSoftware
–– MicroSoftMicroSoft Team Edition for Software Testers Team Edition for Software Testers
–– MicroSoftMicroSoft Load Test Agent/ControllerLoad Test Agent/Controller
•• Unit TestUnit Test
–– Export dynamic maps via SOAP serviceExport dynamic maps via SOAP service
–– 800x600 pixels800x600 pixels
–– PNG 8PNG 8
–– Random extents and scaleRandom extents and scale--levels that are relevels that are re--used between test runsused between test runs–– Random extents and scaleRandom extents and scale--levels that are relevels that are re--used between test runsused between test runs
•• Load TestsLoad Tests
–– Unit test is executed repeatedly by increasing numbers of test clients. Unit test is executed repeatedly by increasing numbers of test clients.
•• Hardware Hardware
–– 4 Dual4 Dual--Core 2.5 GHz CPU, 16 GB RAM, 15K RPM local disksCore 2.5 GHz CPU, 16 GB RAM, 15K RPM local disks
•• More Info? See detailed session.More Info? See detailed session.
3737UC2009 Technical WorkshopUC2009 Technical Workshop
ArcGISArcGIS Server Architectures: “classic” MIMEServer Architectures: “classic” MIMENLB + SOM + N SOC + M Web Servers (WS)NLB + SOM + N SOC + M Web Servers (WS)
WSWS11 WSWS22 WSWSmm……
NLBNLB
AdvantagesAdvantages•• “classic”, users are familiar“classic”, users are familiar
•• Best performingBest performing
DisadvantagesDisadvantages•• SOM is a single point of failureSOM is a single point of failure
SOMSOM
SOCSOC11 SOCSOC22 SOCSOCnnSOCSOC33 ……
3838UC2009 Technical WorkshopUC2009 Technical Workshop
•• Best performingBest performing
•• Easy maintenanceEasy maintenance
ArcGISArcGIS Server Architectures: “Classic” MIMEServer Architectures: “Classic” MIMEPerformance CharacteristicsPerformance Characteristics
ParametersParameters
•• Document Complexity: Document Complexity: HighHigh
•• Return Type: Return Type: MIMEMIME1000
1200
1400
1600
1800
Nu
mb
er
of
Sim
ula
ted
Users
WSWS11 WSWS22 WSWSmm
SOMSOM
SOCSOC11 SOCSOC22 SOCSOCnnSOCSOC33……
……
NLBNLB
ArcGIS Server Scalability (High Complexity)
•• Return Type: Return Type: MIMEMIME
•• Web Servers: Web Servers: 11--22
•• SOM Machines: SOM Machines: 11
•• SOC Machines: SOC Machines: 11--9 (72 cores)9 (72 cores)
ObservationsObservations
•• Linearity breaks down at Linearity breaks down at 77 SOC SOC machines (machines (425,000 425,000 TrTr/Hr/Hr), (), (49 49 corescores))
•• 22ndnd Web Server restores linearityWeb Server restores linearity
0
200
400
600
800
1000
1 2 3 4 5 6 7 8 9
Nu
mb
er
of
Sim
ula
ted
Users
Number of SOC Machines
Actual: 1 WS Actual: 2 WS Ideal3939UC2009 Technical WorkshopUC2009 Technical Workshop
ArcGISArcGIS Server Architectures: “Classic” MIMEServer Architectures: “Classic” MIMEPerformance CharacteristicsPerformance Characteristics
ParametersParameters
•• Document Complexity: Document Complexity: LowLow
•• Return Type: Return Type: MIMEMIME
WSWS11 WSWS22 WSWSmm
SOMSOM
SOCSOC11 SOCSOC22 SOCSOCnnSOCSOC33……
……
NLBNLB
ArcGIS Server Scalability (Low Complexity)
2000
2500
3000
3500
Nu
mb
er
of
Sim
ula
ted
Users
•• Return Type: Return Type: MIMEMIME
•• Web Servers: Web Servers: 11--22
•• SOM Machines: SOM Machines: 11
•• SOC Machines: SOC Machines: 11--9 (72 cores)9 (72 cores)
ObservationsObservations
•• Linearity breaks down at Linearity breaks down at 88 SOC SOC machines (machines (1,150,000 1,150,000 TrTr/Hr/Hr), (), (56 56 corescores))
•• 22ndnd Web Server restores linearityWeb Server restores linearity
0
500
1000
1500
1 2 3 4 5 6 7 8 9
Nu
mb
er
of
Sim
ula
ted
Users
Number of SOC Machines
Actual: 1 WS Actual: 2 WS Ideal4040UC2009 Technical WorkshopUC2009 Technical Workshop
ArcGISArcGIS Server Architectures: “Server Architectures: “Classic” MIMEClassic” MIMEPerformance CharacteristicsPerformance Characteristics
Observations (continued)Observations (continued)
•• Note increase in SOM CPU Note increase in SOM CPU utilization between tests utilization between tests run with 1 web server run with 1 web server ((blueblue) and 2 web servers ) and 2 web servers ((greengreen).).
SOM CPU Utilization
WSWS11 WSWS22 WSWSmm
SOMSOM
SOCSOC11 SOCSOC22 SOCSOCnnSOCSOC33……
……
NLBNLB
((greengreen).).
IIS CPU Utilization
4141UC2009 Technical WorkshopUC2009 Technical Workshop
ArcGISArcGIS Server Architectures: “Classic” MIMEServer Architectures: “Classic” MIMEPerformance CharacteristicsPerformance Characteristics
ConclusionsConclusions
•• Small decrease in SOM Small decrease in SOM utilization results in utilization results in significant (%10) significant (%10) underutilization of SOC underutilization of SOC machines.machines.
WSWS11 WSWS22 WSWSmm
SOMSOM
SOCSOC11 SOCSOC22 SOCSOCnnSOCSOC33……
……
NLBNLB
1 Web Server2 Web Servers
machines.machines.
•• Add additional web server Add additional web server machines when IIS begins machines when IIS begins to compete with SOM for to compete with SOM for CPU.CPU.
SOC CPU Utilization4242UC2009 Technical WorkshopUC2009 Technical Workshop
ArcGISArcGIS Server Architectures: “classic” MIMEServer Architectures: “classic” MIMENLB + SOM + N SOC + M Web Servers (WS) + X File Servers (FS)NLB + SOM + N SOC + M Web Servers (WS) + X File Servers (FS)
AdvantagesAdvantages
WSWS11 WSWS22 WSWSmm……
NLB(w/Affinity)NLB(w/Affinity)
AdvantagesAdvantages•• “classic”, users are familiar“classic”, users are familiar
•• Best performing (of URL Best performing (of URL cfgscfgs))
•• Easy maintenanceEasy maintenance
DisadvantagesDisadvantages
•• SOM Single Point of FailureSOM Single Point of Failure
•• FS Single Point of FailureFS Single Point of Failure
•• FS UNC PenaltyFS UNC Penalty
SOMSOM
SOCSOC11 SOCSOC22 SOCSOCnnSOCSOC33 ……
FSFS FSFSFSFS ……
4343UC2009 Technical WorkshopUC2009 Technical Workshop
ArcGISArcGIS Server Architectures: “Classic” URLServer Architectures: “Classic” URLPerformance CharacteristicsPerformance Characteristics
ParametersParameters
•• Document Complexity: Document Complexity: HighHigh
•• Return Type: Return Type: URLURL
ArcGIS Server Scalability (High Complexity)
500
600
700
800
900
1000
Nu
mb
er
of
Sim
ula
ted
Use
rs
WSWS11 WSWS22 WSWSmm
SOMSOM
SOCSOC11 SOCSOC22 SOCSOCnnSOCSOC33……
……
NLB(w/Affinity)NLB(w/Affinity)
FSFS FSFSFSFS ……
•• Return Type: Return Type: URLURL
•• Web Servers: Web Servers: 11--22
•• SOM Machines: SOM Machines: 11
•• SOC Machines: SOC Machines: 11--5 (45 cores)5 (45 cores)
ObservationsObservations
•• Linearity breaks down at Linearity breaks down at 44 SOC SOC machines (machines (275,000 275,000 TrTr/Hr/Hr), (), (36 36 corescores))
•• 22ndnd Web Server Web Server does not does not restore restore linearitylinearity
0
100
200
300
400
500
1 2 3 4 5
Nu
mb
er
of
Sim
ula
ted
Use
rs
Number of SOC Machines
Actual Ideal
4444UC2009 Technical WorkshopUC2009 Technical Workshop
ArcGISArcGIS Server Architectures: “Classic” URLServer Architectures: “Classic” URLPerformance CharacteristicsPerformance Characteristics
ParametersParameters
•• Document Complexity: Document Complexity: LowLow
•• Return Type: Return Type: URLURL
ArcGIS Server Scalability (Low Complexity)
1000
1200
1400
1600
1800
Nu
mb
er
of
Sim
ula
ted
Use
rs
WSWS11 WSWS22 WSWSmm
SOMSOM
SOCSOC11 SOCSOC22 SOCSOCnnSOCSOC33……
……
NLB(w/Affinity)NLB(w/Affinity)
FSFS FSFSFSFS ……
•• Return Type: Return Type: URLURL
•• Web Servers: Web Servers: 11--22
•• SOM Machines: SOM Machines: 11
•• SOC Machines: SOC Machines: 11--5 (45 cores)5 (45 cores)
ObservationsObservations
•• Linearity breaks down at Linearity breaks down at 33 SOC SOC machines (machines (350,000 350,000 TrTr/Hr/Hr), (), (27 27 corescores))
•• 22ndnd Web Server Web Server does not does not restore restore linearitylinearity
0
200
400
600
800
1 2 3 4 5
Nu
mb
er
of
Sim
ula
ted
Use
rs
Number of SOC Machines
Actual Ideal4545UC2009 Technical WorkshopUC2009 Technical Workshop
ArcGISArcGIS Server Architectures: “Classic” URLServer Architectures: “Classic” URLPerformance CharacteristicsPerformance Characteristics
Observations (continued)Observations (continued)
•• Disk I/O on UNC share is not excessive.Disk I/O on UNC share is not excessive.
•• Network traffic to UNC share does not even approach peak disk Network traffic to UNC share does not even approach peak disk I/O transfer rates. I/O transfer rates.
WSWS11 WSWS22 WSWSmm
SOMSOM
SOCSOC11 SOCSOC22 SOCSOCnnSOCSOC33……
……
NLB(w/Affinity)NLB(w/Affinity)
FSFS FSFSFSFS ……
I/O transfer rates. I/O transfer rates.
ConclusionsConclusions
•• Inherent latency in UNC/CIFS share is the bottleneck.Inherent latency in UNC/CIFS share is the bottleneck.
•• A single service must use a single file server. If it becomes A single service must use a single file server. If it becomes popular it doesn’t scale very well.popular it doesn’t scale very well.
•• If many services exist, consider mapping each service to its own If many services exist, consider mapping each service to its own UNC share to improve performance.UNC share to improve performance.
4646UC2009 Technical WorkshopUC2009 Technical Workshop
ArcGISArcGIS Server Architectures (MIME): Active/Active SOMsServer Architectures (MIME): Active/Active SOMs2 SOM + M SOC + N WS2 SOM + M SOC + N WS
AdvantagesAdvantages
WSWS11 WSWS22
SOMSOM11
NLBNLB
SOMSOM22
WSWS33 WSWSnn
AdvantagesAdvantages•• Highly AvailableHighly Available
•• Web Servers well utilizedWeb Servers well utilized
DisadvantagesDisadvantages
•• Duplication of service Duplication of service
configurationsconfigurations
•• SOMs don’t know how SOCs SOMs don’t know how SOCs
are utilized by other SOMs.are utilized by other SOMs.
SOCSOC11 SOCSOC22 SOCSOCmm……SOCSOC33
4747UC2009 Technical WorkshopUC2009 Technical Workshop
ArcGISArcGIS Server Architectures: Active/Passive SOMsServer Architectures: Active/Passive SOMs2 SOM + M SOC + N WS2 SOM + M SOC + N WS
NLBNLB
WSWS11
AA PP
WSWS22
AA PP
WSWS33
AA PP
WSWSnn
AA PP
AdvantagesAdvantages•• Highly AvailableHighly Available
•• Independent SOMsIndependent SOMs
•• All web servers utilizedAll web servers utilized
•• All SOC machines utilizedAll SOC machines utilized
DisadvantagesDisadvantages
•• MaintenanceMaintenance
•• Only available in Java at Only available in Java at
9.3.1 (will be available in 9.3.1 (will be available in
.NET at 9.4).NET at 9.4)
SOMSOM11
SOCSOC11 SOCSOC22 SOCSOCmm……
SOMSOM22
SOCSOC33
4848UC2009 Technical WorkshopUC2009 Technical Workshop
ArcGISArcGIS Server Architectures: “AllServer Architectures: “All--inin--ones” (MIME or URL)ones” (MIME or URL)N WS/SOM/SOC machinesN WS/SOM/SOC machines
AdvantagesAdvantages•• Highly AvailableHighly Available
•• Some ease of configuration (no Some ease of configuration (no distributed installation)distributed installation)
WSWS11 WSWS22 WSWSnn
SOMSOM11 ……
NLB (w/affinity)NLB (w/affinity)
SOMSOM22 SOMSOMnndistributed installation)distributed installation)
•• Easily imaged and VirtualizedEasily imaged and Virtualized
•• Supports URL or MIME return Supports URL or MIME return type with same linear scalabilitytype with same linear scalability
DisadvantagesDisadvantages
•• Duplication of service Duplication of service
configurationsconfigurations
•• Reduced performance (SOCs Reduced performance (SOCs
compete with SOM and WS)compete with SOM and WS)
SOCSOC11 SOCSOC22 SOCSOCnn
……22 nn
4949UC2009 Technical WorkshopUC2009 Technical Workshop
Physical Machine: 4 CPU/16GB RAM
VM: 4 CPU/16GB RAM
SOM SOC WS
1V_4C_16R
Physical Machine: 4 CPU/16GB RAM
VM: 1 CPU/2GB RAM
SOM SOC WS
VM: 1 CPU/2GB RAM
SOC
VM: 1 CPU/2GB RAM VM: 1 CPU/2GB RAM
4V_1C_2R
ArcGISArcGIS Server Architectures: “Classic” MIMEServer Architectures: “Classic” MIMEVirtualization Penalty with Virtualization Penalty with VMWareVMWare
5050UC2009 Technical WorkshopUC2009 Technical Workshop
Physical Machine: 4 CPU/16GB RAM
VM: 2 CPU/8GB RAM
SOM SOC WS
VM: 2 CPU/8GB RAM
SOC
2V_2C_8R
Physical Machine: 4 CPU/16GB RAM
VM: 1 CPU/4GB RAM
SOM SOC WS
VM: 1 CPU/4GB RAM
SOC
VM: 1 CPU/4GB RAM
SOC
VM: 1 CPU/4GB RAM
SOC
4V_1C_4R
SOC SOC
ArcGISArcGIS Server Architectures: “Classic” MIMEServer Architectures: “Classic” MIMEVirtualization Penalty with Virtualization Penalty with VMWareVMWare
5151UC2009 Technical WorkshopUC2009 Technical Workshop
Tuning PrimerTuning Primer
•• Profile and tune single user transaction response timeProfile and tune single user transaction response time
•• Optimize Optimize ArcMapArcMap mxdmxd documentdocument
•• Create attribute indexes for query and search tasksCreate attribute indexes for query and search tasks
•• Optimize services (cache, merge, image type)Optimize services (cache, merge, image type)
•• Optimize application requestsOptimize application requests
–– Number of requests per transactionNumber of requests per transaction
–– Browser cachingBrowser caching
–– Server cachingServer caching
•• DBMS configurationDBMS configuration
5252UC2009 Technical WorkshopUC2009 Technical Workshop
Browser
Web Server
SOM
Total Response
Time (t1-t2)
Wait Time
A test is executed at the web
browser.
It measures web browser call’s
elapsed time (roundtrip between
browser and data source)
t1 t2
Tuning PrimerTuning PrimerProfile user transaction response timeProfile user transaction response time
SOM
SOC
Wait Time
Search &
Retrieval Time
Usage Time
SDE/DBMS
5353UC2009 Technical WorkshopUC2009 Technical Workshop
Tuning PrimerTuning PrimerWeb diagnostic tools: Fiddler2Web diagnostic tools: Fiddler2
5454UC2009 Technical WorkshopUC2009 Technical Workshop
Tuning PrimerTuning PrimerWeb diagnostic tools: Fiddler2Web diagnostic tools: Fiddler2
•• Understand each request URLUnderstand each request URL
•• Verify cache requests are from virtual directory, not dynamic map Verify cache requests are from virtual directory, not dynamic map serviceservice
•• Validate host origin (reverse proxy)Validate host origin (reverse proxy)
•• Profile each transaction response timeProfile each transaction response time
5555Attend Attend ArcGISArcGIS Server Performance and Scalability Server Performance and Scalability –– Testing sessionTesting session
UC2009 Technical WorkshopUC2009 Technical Workshop
Tuning PrimerTuning PrimerWeb diagnostic tools: Web diagnostic tools: TamperdataTamperdata, , YslowYslow, Visual Studio TT, Visual Studio TT
5656UC2009 Technical WorkshopUC2009 Technical Workshop
Browser
Web Server
SOM
Transmission
Time
Wait TimeAGS context server statistics using
Tuning PrimerTuning PrimerAnalyze SOM/SOC statisticsAnalyze SOM/SOC statistics
SOM
SOC
Wait Time
Search &
Retrieval Time
Usage Time
SDE/DBMS
AGS context server statistics using
ArcCatalog, Manager or logs provide
aggregate and detailed information to
help reveal the cause of the
performance problem.
t1 t2
5757UC2009 Technical WorkshopUC2009 Technical Workshop
Tuning PrimerTuning PrimerAnalyze SOM/SOC statisticsAnalyze SOM/SOC statistics
•• ArcCatalogArcCatalog
•• New 9.3.1 detailed log New 9.3.1 detailed log -- set to verboseset to verbose
5858
<Msg time="2009-03-16T12:23:22" type="INFO3" code="103021" target="Portland.MapServer" methodName="FeatureLayer.Draw"
machine="myWebServer" process="2836" thread="3916" elapsed="0.05221">Executing query.</Msg>
<Msg time="2009-03-16T12:23:23" type="INFO3" code="103019" target="Portland.MapServer" methodName="SimpleRenderer.Draw"
machine="myWebServer" process="2836" thread="3916">Feature count: 27590</Msg>
<Msg time="2009-03-16T12:23:23" type="INFO3" code="103001" target="Portland.MapServer" methodName="Map.Draw" machine="myWebServer"
process="2836" thread="3916" elapsed="0.67125">End of layer draw: STREETS</Msg>
UC2009 Technical WorkshopUC2009 Technical Workshop
Tuning Tuning MxdMxd map documentmap documentNew New ArcMapArcMap 9.3.1 Analyze Tool9.3.1 Analyze Tool
5959UC2009 Technical WorkshopUC2009 Technical Workshop
Tuning Tuning MxdMxd map documentmap documentmxdperfstatmxdperfstat
http://arcscripts.esri.com/scripts.asp?eLang=&eProd=&perPage=10&eQuery=mxdperfstathttp://arcscripts.esri.com/scripts.asp?eLang=&eProd=&perPage=10&eQuery=mxdperfstat
Item At Scale Layer NameRefresh
Time (sec)Recommendations Features Vertices Labeling
Geograph
y Phase
(sec)
Graphics
Phase
(sec)
Cursor
Phase
(sec)
DBMS
CPU
DBMS
LIO
41 1,000 TaxlotDenseLabel 1.93
Simplify labeling, symbology:
GraphicsPhase=1.42; simplify geometry
and/or set label scale; convert polygon
to polyline: vertices fetched=200001;
simplify geometry and/or set label
scale: vertices fetched=200001; 1 200,001 TRUE 0.45 1.42 1.04 0.02 266
42 1,000 TaxlotDenseNoLabel 0.53
simplify geometry: vertices
fetched=200001; 1 200,001 FALSE 0.45 0.02 0.9 0.02 140
6060UC2009 Technical WorkshopUC2009 Technical Workshop
Browser
Web Server
SOM
Transmission
Time
Wait Time
Tuning Data sourcesTuning Data sources
SOM
SOC
Wait Time
Search &
Retrieval Time
Usage Time
SDE/DBMS
6161UC2009 Technical WorkshopUC2009 Technical Workshop
Tuning Data Sources Tuning Data Sources –– Oracle TraceOracle Trace
select username, select username, sidsid, serial#, program, , serial#, program, logon_timelogon_time
from from v$sessionv$session where username='STUDENT';where username='STUDENT';
USERNAME SID SERIAL# PROGRAM LOGON_TIMUSERNAME SID SERIAL# PROGRAM LOGON_TIM
------------------------------------------------------------ -------------------- -------------------- -------------------------------------------------------------------------------------------------------------------------------- ----
STUDENT 132 31835 gsrvr.exe 23STUDENT 132 31835 gsrvr.exe 23--OCTOCT--0606
SQL> connect sys@gis1_andrews as SQL> connect sys@gis1_andrews as sysdbasysdbaSQL> connect sys@gis1_andrews as SQL> connect sys@gis1_andrews as sysdbasysdba
Enter password:Enter password:
Connected.Connected.
SQL> execute SQL> execute sys.dbms_system.set_evsys.dbms_system.set_ev(132,31835,10046,12,'');(132,31835,10046,12,'');
PL/SQL procedure successfully completed.PL/SQL procedure successfully completed.
6262
DBMS trace is a very powerful diagnostic toolDBMS trace is a very powerful diagnostic tool
UC2009 Technical WorkshopUC2009 Technical Workshop
Tuning Data Sources Tuning Data Sources –– Oracle Trace (continued)Oracle Trace (continued)Starting Oracle trace using a custom Starting Oracle trace using a custom ArcMapArcMap UIControlUIControl
Private Sub OracleTrace_Click()
. . .
Set pFeatCls = pFeatLyr.FeatureClass
Set pDS = pFeatCls
Set pWS = pDS.Workspace
sTraceName = InputBox("Enter <test_name><email>")
6363
pWS.ExecuteSQL ("alter session set tracefile_identifier = '" &
sTraceName & "'")
pWS.ExecuteSQL ("ALTER SESSION SET events '10046 trace name context
forever, level 12'")
. . .
End Sub
UC2009 Technical WorkshopUC2009 Technical Workshop
Tuning Data Sources Tuning Data Sources –– Oracle Trace (continued)Oracle Trace (continued)
SQL ID : 71py6481sj3xu
SELECT 1 SHAPE, TAXLOTS.OBJECTID, TAXLOTS.SHAPE.points,TAXLOTS.SHAPE.numpts,
TAXLOTS.SHAPE.entity,TAXLOTS.SHAPE.minx,TAXLOTS.SHAPE.miny,
TAXLOTS.SHAPE.maxx,TAXLOTS.SHAPE.maxy,TAXLOTS.rowid
FROM SDE.TAXLOTS TAXLOTS WHERE SDE.ST_EnvIntersects(TAXLOTS.SHAPE,:1,:2,:3,:4) = 1
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 0 0.00 0.00 0 0 0 0
Execute 1 0.07 0.59 115 1734 0 0
6464
Fetch 242 0.78 12.42 2291 26820 0 24175
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 243 0.85 13.02 2406 28554 0 24175
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
SQL*Net message to client 242 0.00 0.00
db file sequential read 2291 0.39 11.69
SQL*Net more data to client 355 0.00 0.02
SQL*Net message from client 242 0.03 0.54
********************************************************************************
UC2009 Technical WorkshopUC2009 Technical Workshop
Tuning Data Sources Tuning Data Sources –– Oracle Trace (continued)Oracle Trace (continued)
•• Analyze queryAnalyze query
–– Elapsed time [sec] (CPU + wait event)Elapsed time [sec] (CPU + wait event)
–– CPU [sec]CPU [sec]
–– Query (Oracle blocks e.g. 8K read from memory)Query (Oracle blocks e.g. 8K read from memory)
–– Disk (Oracle blocks read from disk)Disk (Oracle blocks read from disk)
–– Wait event [sec], e.g. db file sequential read Wait event [sec], e.g. db file sequential read –– Wait event [sec], e.g. db file sequential read Wait event [sec], e.g. db file sequential read
–– Rows fetchedRows fetched
•• Example (cost of physical reads):Example (cost of physical reads):
–– Elapsed time = 13.02 secElapsed time = 13.02 sec
–– CPU = 0.85 sec CPU = 0.85 sec
–– Disk= 2291 blocksDisk= 2291 blocks
–– Wait event (db file sequential read )=11.69 secWait event (db file sequential read )=11.69 sec
–– Rows fetched = 24175Rows fetched = 24175
6565UC2009 Technical WorkshopUC2009 Technical Workshop
Tuning Data Sources Tuning Data Sources –– SQL ProfilerSQL Profiler
6666UC2009 Technical WorkshopUC2009 Technical Workshop
SummarySummary
•• Today we covered:Today we covered:
–– Case Study: Optimizing a Flex API web applicationCase Study: Optimizing a Flex API web application
–– Reviewed key performance factors in Reviewed key performance factors in ArcGISArcGIS Server system componentsServer system components
–– Described strategies for component optimizationDescribed strategies for component optimization
–– Recommended deployment architecturesRecommended deployment architectures
–– Described methodology for tuning Described methodology for tuning ArcGISArcGIS Server deployments inServer deployments in--situsitu
6767
Still have questions?Still have questions?
UC2009 Technical WorkshopUC2009 Technical Workshop
Additional ResourcesAdditional ResourcesQuestions, answers and information…Questions, answers and information…
•• Tech Talk Tech Talk
––Outside this room right now!Outside this room right now!
•• Other sessionsOther sessions
•• ESRI Resource CentersESRI Resource Centers
––PPTs, code and videoPPTs, code and video
resources.esri.comresources.esri.com•• Other sessionsOther sessions
––ArcGISArcGIS Server Performance Server Performance and Scalability and Scalability -- TestingTesting
6868
resources.esri.comresources.esri.com
UC2009 Technical WorkshopUC2009 Technical Workshop