由于Geoserver是JavaEE项目,其性能直接受JVM参数影响,因此首先就需要对其进行JVM级别的优化。Geoserver部署在哪里,就设置哪里的JVM参数。

Java堆内存

Java堆内存是最基本的Java开发优化参数,无须解释。设置内存的数值需要恰当,既不能浪费剩余内存又不能抢占其他资源所必须的内存。

其他JVM调优参数

这部分主要根据GeoServer运行耗费资源的特点,对JVM参数进行调整优化

Java图像处理优化

原生JAI和ImageIO

GeoServer的图像处理功能使用了Java的JAI和JAI ImageIO功能,但由于Java的JAI和JAI ImageIO库默认是Java实现,若将其换为原生库可显著提高图像处理速度。注意,在windows下只有32位Java环境才可用,64位Java环境不可用原生库。下载和拷贝原生库文件的操作参考以下代码:

cd /tmp
wget http://download.java.net/media/jai/builds/release/1_1_3/jai-1_1_3-lib-linux-amd64.tar.gz
wget http://download.java.net/media/jai-imageio/builds/release/1.1/jai_imageio-1_1-lib-linux-amd64.tar.gz
gunzip -c jai-1_1_3-lib-linux-amd64.tar.gz | tar xf - && \
    gunzip -c jai_imageio-1_1-lib-linux-amd64.tar.gz | tar xf - && \
    mv /tmp/jai-1_1_3/lib/*.jar $JAVA_HOME/jre/lib/ext/ && \
    mv /tmp/jai-1_1_3/lib/*.so $JAVA_HOME/jre/lib/amd64/ && \
    mv /tmp/jai_imageio-1_1/lib/*.jar $JAVA_HOME/jre/lib/ext/ && \
    mv /tmp/jai_imageio-1_1/lib/*.so $JAVA_HOME/jre/lib/amd64/

经过上述操作后,重启GeoServer,查看Server Status状态页中的native JAI和native JAI ImageIO两项是否为true,若显示为true说明原生库优化成功。


 您阅读本篇文章共花了: