the idea is to avoid allocating the entire collection in memory, which can be a GeoServer killer
I currently only use Geotools without Geoserver but I know what you mean... I also had these concerns.
Hi guys, I've a fantastic client which has added all the layers of the getCapabilities into the layers parameter and it's performing a single getMap requesting the whole catalog.... I've the control flow but I can't find a parameter limiting this bad scenario.... is there any undocumented option (number of layers per request)?
I think the WMS response size is not applicable since the size of the image is ok the problem is the number of resources needed to render the image...
The geoserver is managing 1k layers so that request bring regularly to a kill of the tomcat (asking for too many resources/memory/connections etc)...
It's an incredible easy way to let a geoserver down
A possible solution is to use a proxy which could filter requests by parameter values. In your case that could be the number of layers in the layers param in a GetMap-request.
you don't want to have to parse a SLD in your proxy to figure out how many layers it has inside, I believe :-D
Hehe, nope this isn't a good idea and that would also impact performance. My proposal is meant as a temporal solution which assumed that the "fantastic client" will request via HTTP GET. I could also imagine to extent the request limit settings in the WMS configuration of Geoserver (https://docs.geoserver.org/stable/en/user/services/wms/configuration.html) but suppose this is a rarely needed requirement.