#500 closed enhancement (fixed)
Schema Cache performance enhancements
Reported by: | brentrobinson | Owned by: | brucedechant |
---|---|---|---|
Priority: | medium | Milestone: | 2.1 |
Component: | Feature Service | Version: | |
Severity: | major | Keywords: | Performance Studio Viewer |
Cc: | External ID: |
Description
This change will provide 2 enhancements to the caching of schema information:
1) Avoid per-class XML serializations in FeatureService.DescribeSchemaAsXml. This will make opening a layer in Studio faster when the layer feature source has many classes.
2) Cache the FDO Feature Schemas, eliminating the need to fetch them from the FDO provider each time FeatureService.GetClassIdentityProperties is called. The fetch from provider causes the schemas to be cloned. This speeds up the map viewer startup when the map has many layers from the same feature source.
Change History (5)
comment:1 by , 17 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:2 by , 17 years ago
Milestone: | → 2.1 |
---|
comment:3 by , 17 years ago
Forgot to format tables in previous comment. Here they are again:
DescribeSchemaAsXml changes:
Before After Total 25 14 FeatureService.DescribeSchemaAsXml part 16 7
GetClassIdentityProperties changes:
Before After Run1 17 12 Run2 11 2
comment:5 by , 17 years ago
I used the Autodesk Oracle provider, which was probably not the right choice for putting together stats for an Open Source ticket. However, the fixes will still have an effect when using OS providers. The percentage improvement will vary between provider, depending on how fast it can do an FdoIDescribeSchema.
The DescribeSchemaAsXml changes make the following time difference for the scenario:
The following shows the times (in seconds) from when the layer open is started until the layer's dropdowns are populated (before and after the fix):
For the GetClassIdentityProperties changes, the scenario checked was:
The time from when the login prompt was exited, until the legend showed up was taken. The following shows the times in seconds:
Timings were done with Studio and MG Server on a Windows XP machine ( 2.66 GHz, 2 CPU, 3Gb RAM), accessing Oracle over a LAN. Timings may vary in other environments.
Revision: 3090 Author: brucedechant Date: 5:58:47 PM, Thursday, March 13, 2008 Message: Fix for trac ticket 500 - Schema Cache performance enhancements http://trac.osgeo.org/mapguide/ticket/500
Modified : /trunk/MgDev/Server/src/Common/Cache/FeatureServiceCache.cpp Modified : /trunk/MgDev/Server/src/Common/Cache/FeatureServiceCache.h Modified : /trunk/MgDev/Server/src/Common/Cache/FeatureServiceCacheEntry.cpp Modified : /trunk/MgDev/Server/src/Common/Cache/FeatureServiceCacheEntry.h Modified : /trunk/MgDev/Server/src/Common/Cache/Makefile.am Modified : /trunk/MgDev/Server/src/Common/Cache/ServerCache.vcproj Modified : /trunk/MgDev/Server/src/Services/Feature/ServerDescribeSchema.cpp