Hi List,
While optimisations are on our minds (who needs holidays anyway?), I
thought I'd bring up a function that seems to be particularly slow. Namely
the "isometric" one.
Same parameters as before (single test instance, 1 thread, coming from
Oracle).
I'm getting GeoServer to render this png:
http://maps.warwickshire.gov.uk/misc/with-isometric.png
There are about 9000 buildings on there.
My response times for this layer using jmeter average 8500ms! Now, much of
that is Oracle (booo!), however I've noticed that it seems to take
considerably longer when I'm using the "isometric" function than some of my
other stylings that don't use that.
If I disable just the isometric effect (so comment out the below; the
features are still rendering, but just without going through the isometric
function):
<se:Geometry>
> <ogc:Function name="isometric">
> <ogc:PropertyName>SDO_GEOMETRY</ogc:PropertyName>
> <ogc:Literal>2</ogc:Literal>
> </ogc:Function>
> </se:Geometry>
My request time drops to 7300ms - a significant saving.
(Optimisation for me - The output is almost identical at that scale -
http://maps.warwickshire.gov.uk/misc/without-isometric.png - so I'll turn
it off at that scale in the future.)
There's also an offset function which is being used here - disabling that
results in absolutely no difference.
But even for a small subset of those (i.e., zoomed in), the isometric thing
severely bogs down rendering.
========
Something related I noticed in the Geoserver logs while investigating this:
2013-12-31 17:44:08,379 DEBUG [org.geotools.jdbc] - SELECT
> OSMMSTYLE_NAME,SDO_GEOMETRY as SDO_GEOMETRY FROM
> OSMM.OS_MM_TOPOGRAPHIC_AREA WHERE (SDO_FILTER(SDO_GEOMETRY, ?,
> 'mask=anyinteract querytype=WINDOW') = 'TRUE' AND (OSMMSTYLE_NAME = ? OR
> OSMMSTYLE_NAME = ? OR OSMMSTYLE_NAME = ? OR OSMMSTYLE_NAME = ?))
> 2013-12-31 17:44:08,379 DEBUG [org.geotools.data.oracle.sdo] - Using layer
> SRID: 27700
> 2013-12-31 17:44:08,379 DEBUG [org.geotools.jdbc] - Setting parameter 1 as
> MDSYS.SDO_GEOMETRY(2003,27700,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3),MDSYS.SDO_ORDINATE_ARRAY(431115.10000000003,265345.6461141951,432915.5,267131.3538858049))
> 2013-12-31 17:44:08,379 DEBUG [org.geotools.jdbc] - 1 = POLYGON
> ((431115.10000000003 265345.6461141951, 431115.10000000003
> 267131.3538858049, 432915.5 267131.3538858049, 432915.5 265345.6461141951,
> 431115.10000000003 265345.6461141951))
> 2013-12-31 17:44:08,379 DEBUG [org.geotools.jdbc] - 2 = *buildingFill*
> 2013-12-31 17:44:08,379 DEBUG [org.geotools.jdbc] - 3 = *structureFill*
> 2013-12-31 17:44:08,379 DEBUG [org.geotools.jdbc] - 4 = *buildingFill*
> 2013-12-31 17:44:08,379 DEBUG [org.geotools.jdbc] - 5 = *structureFill*
> 201
Note that GeoServer has appended OR clauses for buildingFill and
structureFill twice (I guess because they're in separate
FeatureTypeStyles). I'm sure Oracle optimises that out, but it might be
worth doing it on the GeoServer end anyway.
Unfortunately they're locking up the building now, so I can't do any
further testing until Thursday. I can create JIRA's for these if desired.
And Happy New Year all!
Jonathan
--
This transmission is intended for the named addressee(s) only and may
contain sensitive or protectively marked material up to RESTRICTED and
should be handled accordingly. Unless you are the named addressee (or
authorised to receive it for the addressee) you may not copy or use it, or
disclose it to anyone else. If you have received this transmission in error
please notify the sender immediately. All email traffic sent to or from us,
including without limitation all GCSX traffic, may be subject to recording
and/or monitoring in accordance with relevant legislation.
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT
organizations don't have a clear picture of how application performance
affects their revenue. With AppDynamics, you get 100% visibility into your
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel