Hi,
We have used GeoServer for quite a while for serving large scanned maps
over WMS, however we've noticed important performance issues after
upgrading to 2.14.1, with constant memory and CPU load with no apparent
relation to incoming request. While profiling the Tomcat instance we
noticed that few of the connectors were constantly allocating memory though
there was no active connection, and probing the threads we noticed they
spent most of the time calling some JAI function. This behaviour appeared
at random times after every server restart, but stopped once we removed JAI
jars from the classpath.  Is there any known issue with using JAI in
GeoServer 2.14.1?

This is the relevant part of misbehaving thread:
...
    at
com.sun.media.jai.opimage.MosaicOpImage.computeTile(MosaicOpImage.java:442)
    at
com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
    at javax.media.jai.OpImage.getTile(OpImage.java:1129)
    at javax.media.jai.PlanarImage.cobbleByte(PlanarImage.java:2850)
    at javax.media.jai.PlanarImage.getData(PlanarImage.java:2169)
    at javax.media.jai.PlanarImage.getData(PlanarImage.java:2016)
    at javax.media.jai.RenderedOp.getData(RenderedOp.java:2266)
    at
it.geosolutions.imageio.plugins.png.ScanlineProviderFactory.getProvider(ScanlineProviderFactory.java:53)
    at
it.geosolutions.imageio.plugins.png.PNGWriter.isScanlineSupported(PNGWriter.java:129)
    at org.geoserver.wms.map.png.PNGJWriter.writePNG(PNGJWriter.java:38)
...

System configuration:
JAI version: 1.1.3 linux-amd64
JAI ImageIO: 1.1 linux-amd64


- GeoServer Version 2.14.1 (rev  499990d642d60e6043f3d44deb26ac6172a4e885)
- GeoTools Version 20.1 (rev ef377c748a46efd4a84bfa0df939aac71ade0863)
- GeoWebCache Version 1.14.1 (rev
1.14.x/4bb10e75710629ad5571e69b75684cf49256ad67)
-
Installed extensions:
GeoWeb Cache     gs-gwc     2.14.1
GeoServer KML     gs-kml     2.14.1
GeoServer libjpeg-turbo Module     libjpeg-turbo
RenderedImageMapResponse     2.14.1
GeoServer Main     gs-main     2.14.1
Rendering Engine     jvm     java2d     1.8.0_131
GeoServer Security JDBC     gs-sec-jdbc     2.14.1
GeoServer Security LDAP     gs-sec-ldap     2.14.1
GeoServer Web Coverage Service     gs-wcs     2.14.1
GeoServer Web Coverage Service 1.0     gs-wcs1_0     2.14.1
GeoServer Web Coverage Service 1.1     gs-wcs1_1     2.14.1
GeoServer Web Coverage Service 2.0     gs-wcs2_0     2.14.1
GeoServer Web UI Core     gs-web-core     2.14.1
GeoServer Web Demos     gs-web-demo     2.14.1
GeoServer Web UI GeoWebCache     gs-web-gwc     2.14.1
GeoServer Web REST     gs-web-rest     2.14.1
GeoServer Web UI Security Core     gs-web-sec-core     2.14.1
GeoServer Web UI Security JDBC     gs-web-sec-jdbc     2.14.1
GeoServer Web UI Security LDAP     gs-web-sec-ldap     2.14.1
GeoServer Web UI Web Coverage Service     gs-web-wcs     2.14.1
GeoServer Web UI Web Feature Service     gs-web-wfs     2.14.1
GeoServer Web UI Web Map Service     gs-web-wms     2.14.1
GeoServer Web UI Web Processing Service     gs-web-wps     2.14.1
GeoServer Web Feature Service     gs-wfs     2.14.1
GeoServer Web Map Service     gs-wms     2.14.1
GeoServer Web Processing Service Core     gs-wps-core     2.14.1

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

Java options
-Djava.awt.headless=true
-Xmx128m
-XX:+UseConcMarkSweepGC
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Xms4096m
-Xmx4096m
-XX:MaxPermSize=1024m
-Xmx4096m
-Xss1024k
-XX:+UseParNewGC
-XX:MaxGCPauseMillis=1500
-XX:GCTimeRatio=9 -server
-XX:+DisableExplicitGC
-XX:NewRatio=2
-XX:+AggressiveOpts
-DGEOSERVER_DATA_DIR=/var/www/geoserver_data
-Xbootclasspath/a:/var/lib/tomcat7/webapps/geoserver/WEB
-INF/lib/marlin-0.7.5-Unsafe.jar
-Dsun.java2d.renderer=org.marlin.pisces.PiscesRenderingEngine
-Dsun.java2d.renderer.useThreadLocal=false
-Djava.library.path=/opt/libjpeg-turbo/lib64:/usr/lib
-Djava.endorsed.dirs=/usr/share/tomcat7
/endorsed
-classpath/usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
-Dcatalina.base=/var/lib/tomcat7
-Dcatalina.home=/usr/share/tomcat7
-Djava.io.tmpdir=/tmp/tomcat7-tomcat7-tmp

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.5 LTS"
NAME="Ubuntu"
VERSION="12.04.5 LTS, Precise Pangolin"

Thanks,
Daniel Urda
_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this 
list:
- Earning your support instead of buying it, but Ian Turton: 
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: 
http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to