Tuesday, December 31, 2013

ArcGIS 10.1 Performance Issues

Since we installed ArcGIS 10.1, we have been experiencing extreme performance issues. We couldn't prove it just by panning and zooming so I had to create a comparison charts to compare different environments.

​We managed to do several testing on the speed of ArcGIS Desktop layer loading between several geodatabase, compared Different Clients (10, 10.1 SP1) vs Oracle and SQL Server.​​ The hardware is relatively the same 16 GB RAM with 8 Core CPU running on Windows 2008 R2 SP1. That is except for the SQL Server DB which is running on 8 GB Windows 2008 R2 SP1. These have exactly the same configurations.
​The log file below shows only loading the a set data set with a geometric network

Scenario A: From Client ArcMap 10.1 to 10.1 Database (Oracle 11g)  
[  1   ] About to add WaterDistributionDataSet
[  1   ]  finished in 0.1 seconds
[  2   ] About to set the source of WaterDistributionDataSet
[  2   ] About to get the feature class object  WaterDistGeomNetwork_Junctions
[  2   ]  finished in 11 seconds
[  3   ] About to get the feature class object  SystemValve
[  3   ]  finished in 0.1 seconds
[  4   ] About to get the feature class object  AirValve
[  4   ]  finished in 0.1 seconds
[  5   ] About to get the feature class object  ServiceValve
[  5   ]  finished in 0.1 seconds
[  6   ] About to get the feature class object  FlowControlValve
[  6   ]  finished in 0.1 seconds
[  7   ] About to get the feature class object  PressureReliefValve
[  7   ]  finished in 0.1 seconds
[  8   ] About to get the feature class object  Fitting
[  8   ]  finished in 0.1 seconds
[  9   ] About to get the feature class object  Junction
[  9   ]  finished in 0.1 seconds
[  10   ] About to get the feature class object  Hydrant
[  10   ]  finished in 0.1 seconds
[  11   ] About to get the feature class object  Pump
[  11   ]  finished in 0.2 seconds
[  12   ] About to get the feature class object  WServicePoint
[  12   ]  finished in 0.1 seconds
[  13   ] About to get the feature class object  Meter
[  13   ]  finished in 0.1 seconds
[  14   ] About to get the feature class object  Tank
[  14   ]  finished in 0.1 seconds

Scenario B: ​From Client ArcMap 10.1 to 10 Database (Oracle 11g)  
[  1   ] About to add WaterDistributionDataSet
[  1   ]  finished in 0.1 seconds
[  2   ] About to set the source of WaterDistributionDataSet
[  2   ] About to get the feature class object  WaterDistGeomNetwork_Junctions
[  2   ]  finished in 13.4 seconds
[  3   ] About to get the feature class object  SystemValve
[  3   ]  finished in 0.7 seconds
[  4   ] About to get the feature class object  AirValve
[  4   ]  finished in 0.7 seconds
[  5   ] About to get the feature class object  ServiceValve
[  5   ]  finished in 0.7 seconds
[  6   ] About to get the feature class object  FlowControlValve
[  6   ]  finished in 0.7 seconds
[  7   ] About to get the feature class object  PressureReliefValve
[  7   ]  finished in 0.8 seconds
[  8   ] About to get the feature class object  Fitting
[  8   ]  finished in 0.8 seconds
[  9   ] About to get the feature class object  Junction
[  9   ]  finished in 0.7 seconds
[  10   ] About to get the feature class object  Hydrant
[  10   ]  finished in 0.7 seconds
[  11   ] About to get the feature class object  Pump
[  11   ]  finished in 1.5 seconds
[  12   ] About to get the feature class object  WServicePoint
[  12   ]  finished in 0.7 seconds
[  13   ] About to get the feature class object  Meter
[  13   ]  finished in 0.7 seconds
[  14   ] About to get the feature class object  Tank
[  14   ]  finished in 0.7 seconds

Scenario C: From Client ArcMap 10 to 10.1 Database (Oracle 11g) 
[  1   ] About to add WaterDistributionDataSet
[  1   ]  finished in 0 seconds
[  2   ] About to set the source of WaterDistributionDataSet
[  2   ] About to get the feature class object  WaterDistGeomNetwork_Junctions
[  2   ]  finished in 1.9 seconds
[  3   ] About to get the feature class object  SystemValve
[  3   ]  finished in 0.1 seconds
[  4   ] About to get the feature class object  AirValve
[  4   ]  finished in 0.1 seconds
[  5   ] About to get the feature class object  ServiceValve
[  5   ]  finished in 0.1 seconds
[  6   ] About to get the feature class object  FlowControlValve
[  6   ]  finished in 0.1 seconds
[  7   ] About to get the feature class object  PressureReliefValve
[  7   ]  finished in 0.1 seconds
[  8   ] About to get the feature class object  Fitting
[  8   ]  finished in 0.2 seconds
[  9   ] About to get the feature class object  Junction
[  9   ]  finished in 0.1 seconds
[  10   ] About to get the feature class object  Hydrant
[  10   ]  finished in 0.1 seconds
[  11   ] About to get the feature class object  Pump
[  11   ]  finished in 0.3 seconds
[  12   ] About to get the feature class object  WServicePoint
[  12   ]  finished in 0.2 seconds
[  13   ] About to get the feature class object  Meter
[  13   ]  finished in 0.1 seconds
[  14   ] About to get the feature class object  Tank
[  14   ]  finished in 0.1 seconds
 ​ 
Scenario D: From Client ArcMap 10.1 to 10.1 Database (SQL Server 2008 R2) [Virtual Machine]
[  1   ] About to add WaterDistributionDataSet
[  1   ]  finished in 0.1 seconds
[  2   ] About to set the source of WaterDistributionDataSet
[  2   ] About to get the feature class object  WaterDistGeomNetwork_Junctions
[  2   ]  finished in 1.5 seconds
[  3   ] About to get the feature class object  SystemValve
[  3   ]  finished in 0.2 seconds
[  4   ] About to get the feature class object  AirValve
[  4   ]  finished in 0.2 seconds
[  5   ] About to get the feature class object  ServiceValve
[  5   ]  finished in 0.2 seconds
[  6   ] About to get the feature class object  FlowControlValve
[  6   ]  finished in 0.2 seconds
[  7   ] About to get the feature class object  PressureReliefValve
[  7   ]  finished in 0.2 seconds
[  8   ] About to get the feature class object  Fitting
[  8   ]  finished in 0.2 seconds
[  9   ] About to get the feature class object  Junction
[  9   ]  finished in 0.2 seconds
[  10   ] About to get the feature class object  Hydrant
[  10   ]  finished in 0.2 seconds
[  11   ] About to get the feature class object  Pump
[  11   ]  finished in 0.3 seconds
[  12   ] About to get the feature class object  WServicePoint
[  12   ]  finished in 0.2 seconds
[  13   ] About to get the feature class object  Meter
[  13   ]  finished in 0.2 seconds
[  14   ] About to get the feature class object  Tank
[  14   ]  finished in 0.2 seconds

Notice that surprisingly​ ​SQL Server while on a virtual machine scored the best performance more than 80% of the 10.1 configuration. This depends on so many factors and configuration but apparently it proves that there is something fishy with 10.1 and Oracle. I would recommend using SQL Server since it complies much better with ESRI technology.