I have GeoServer connected to a SQL Server datastore. I have a map with 5 Layers, the layers have about 200,000 features total. The features are styled as simple points or lines - not many lines though. Due to the nature of the data - it changes alot and needs to be instantly current - I don't have caching on.
Geoserver is on a windows server, running on Tomcat. This is all being rendered in the browser using OpenLayers.
I have added some parameters to the CATALINA_OPTS environment variable -
CATALINA_OPTS=-Xms128m -Xmx2048M -XX:SoftRefLRUPolicyMSPerMB=36000
and installed the two recommended Geoserver and JAI and ImageIO extensions.
I have tried rendering as TileWMS and ImageWMS.
Peformance is sub-optimal at best. It really looks like SQL server returns data very fast, and the bottleneck is GeoServer but I have more questions than answers at this point. It really doesn't look like the Tomcat service is getting used hard watching it's process in Task Manager.
How can I optimally set up Geoserver to give the best performance? Is there a best practice guide (besides http://docs.geoserver.org/latest/en/user/production/index.html) to point me in the right direction?