3

I am running GeoServer 2.4.1 (Recently Upgraded)

Server: Windows 2008R2, 2Gb Ram (Has been running perfectly until now)

My WMS Rendering has slowed down significantly. I am unsure if this is a problem with the Upgrade or the configuration. We added a number of additional layers in Layer Groups in the last few days.

The problem is intermittent, some tiles will render, some will not. I have noticed that the Server goes to 100% CPU and 90% Ram use and this coincides with the tile rendering failure.

Data is being pulled form a PostGres Db on another Computer, Network load is insignificant.

Question: Is this a configuration issue? Question; How can I better tune the GeoServer Configuration

This is the Relevant Error from the Geoserver logs:

2013-11-07 10:56:23,744 INFO [geoserver.wms] - 
Request: getServiceInfo
2013-11-07 10:56:24,384 WARN [geotools.rendering] - Assuming rendering buffer = 1, but estimation is not accurate, you may want to set a buffer manually
2013-11-07 10:56:34,806 INFO [geoserver.wms] - 
Request: getServiceInfo
2013-11-07 10:56:34,837 WARN [geotools.rendering] - Assuming rendering buffer = 4, but estimation is not accurate, you may want to set a buffer manually
2013-11-07 10:56:34,962 ERROR [geotools.map] - Call MapContent dispose() to prevent memory leaks
2013-11-07 10:56:34,962 INFO [geoserver.wms] - 
Request: getServiceInfo
2013-11-07 10:56:35,165 WARN [geotools.rendering] - Assuming rendering buffer = 4, but estimation is not accurate, you may want to set a buffer manually
2013-11-07 10:56:47,848 ERROR [geotools.rendering] - JDBC DataSource not available after dispose() has been called
java.lang.NullPointerException: JDBC DataSource not available after dispose() has been called

I have a Max Rendering Memory of 100000 (when this error was generated) but have tried from 16000 and steps in between with no differences.

enter image description here

Geoserver Configuration as follows:

enter image description here

JVM config as follows (Using Jdk1.7.0_40)

# Java Classpath (include wrapper.jar)  Add class path elements as
#  needed starting from 1
wrapper.java.classpath.1=wrapper/lib/wrapper.jar
wrapper.java.classpath.2=start.jar
wrapper.java.classpath.3=lib/*.jar

# Java Library Path (location of Wrapper.DLL or libwrapper.so)
wrapper.java.library.path.1=wrapper/lib

# Java Additional Parameters
wrapper.java.additional.1=-Djetty.home=.
wrapper.java.additional.2=-DGEOSERVER_DATA_DIR="%GEOSERVER_DATA_DIR%"
wrapper.java.additional.3=-XX:MaxPermSize=128m
wrapper.java.additional.4=-XX:SoftRefLRUPolicyMSPerMB=36000
wrapper.java.additional.5=-Xmx1024M
wrapper.java.additional.6=-Xms512M
wrapper.java.additional.7=-XX:+UseParallelGC
wrapper.java.additional.8=-XX:NewRatio=2
wrapper.java.additional.9=-server


# Initial Java Heap Size (in MB)
wrapper.java.initmemory=512

# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=1024

# Application parameters.  Add parameters as needed starting from 1
wrapper.app.parameter.1=org.mortbay.start.Main
wrapper.app.parameter.2=etc/jetty.xml

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.