Hi,
I was looking into some jstack output on a trouble server and found what looks
like a relatively serious scalability issue in the integrated GWC:
http://jira.codehaus.org/browse/GEOS-5463
Basically, if you have N cached layers queried in the same area at the same time
(not difficult) and they all need to build tiles from scratch (which happens if you
are changing data often enough) then all of them with synch each other
out and only one will manage to render, whilst the others, even if the are
different layers, will have to wait.
See the jira for a more detailed explanation.
The fix is really simple, we just need to remove a “static” keyword from this declaration:
private static final CanonicalSet META_GRID_LOCKS = CanonicalSet
.newInstance(GridLocObj.class);
This way each layer has its own canonicalizer for the metatile lock objects, instead of sharing
one among all layers.
Ok to go?
Cheers
Andrea
–
==
Our support, Your Success! Visit http://opensdi.geo-solutions.it for more information.
Ing. Andrea Aime
@geowolf
Technical Lead
GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549
http://www.geo-solutions.it
http://twitter.com/geosolutions_it