John,

please ensure you are using joining support so that efficient SQL 
queries are generated:
http://docs.geoserver.org/latest/en/user/data/app-schema/joining.html

Without joining, app-schema performance will be appalling for large 
numbers of features. For backwards compatibility, better performance 
with tiny numbers of features, and to support chaining across different 
data sources, joining is disabled by default.

Kind regards,
Ben.

On 12/10/12 19:58, jdoley wrote:
> This issue applies to GS 2.1.4 though the current 2.2.
>
> I've found that the simplest app-schema layer becomes unusably slow when the
> number of features exceeds a few thousand. While a getmap against a simple
> (SF-0) layer (in Oracle) generates a single database connection and select,
> when the layer is the simplest app-schema there is an additional connection
> and select for every individual feature in the feature set.
>
> For the app-schema GetMap, verbose logging shows me:
>
> 1) one select is done with the requested BBOX, which returns all of the
> features to be rendered
>
> 2) then, the database table's key is used to select each feature, one at a
> time, as they are rendered, like:
>
>       CREATE CONNECTION
>       SELECT<...>  FROM<layer_table>  where<table_key == attr n>
>       CLOSE CONNECTION
>
> As the number of features increases, the time to rendered an app-schema
> layer vs a simple layer becomes orders of magnitude slower
>
>
> Is it really necessary to obtain each feature twice (once with the BBOX
> select and then again, one at a time)?
>
> Is there any way to influence this behavour from the mapping file?
>
>
>
>
> --
> View this message in context: 
> http://osgeo-org.1560.n6.nabble.com/app-schema-GetMap-very-slow-with-larger-feature-sets-tp5008265.html
> Sent from the GeoServer - User mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> Don't let slow site performance ruin your business. Deploy New Relic APM
> Deploy New Relic app performance management and know exactly
> what is happening inside your Ruby, Python, PHP, Java, and .NET app
> Try New Relic at no cost today and get our sweet Data Nerd shirt too!
> http://p.sf.net/sfu/newrelic-dev2dev
> _______________________________________________
> Geoserver-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/geoserver-users
>

-- 
Ben Caradoc-Davies <[email protected]>
Software Engineer
CSIRO Earth Science and Resource Engineering
Australian Resources Research Centre

------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to