优化GeoServer的运行------GeoServer研究随笔二

本文探讨了GeoServer在不同层次的优化策略,包括硬件、Java运行环境、应用服务器和空间数据管理。重点关注Java虚拟机配置,如采用-server模式、调整内存分配,并启用并行垃圾回收。此外,还提到了应用服务器如Tomcat的优化,服务策略设置,缓存利用,以及日志管理对提升GeoServer性能的影响。

  GeoServer运行优化可以在几个层次展开,1、硬件、操作系统层次;2、java运行环境层次;3、应用服务器层次;4、空间数据组织管理层次。

 

  硬件当然是内存越多越好,CPU运行效率越高、CPU数量越多越好。java程序一般是比较消耗内存的,GeoServer管理大量空间和属性数据更增加了内存的使用量。但是内存使用也有限制,windows程序的4G进程空间内存分配是操作系统占用2G,应用程序2G;linux程序的分配是操作系统1G,应用程序3G,所以,一般linux上Java程序的堆栈最大值可以比Windows大。CPU数量多则可以充分发挥Java多线程运行的优势,CPU运行效率高则计算速度快,对于GIS需要大量的空间运算来说,能显著提高用户的响应。如果使用WMS服务即时获取图片,性能优异的显卡能很好的提高地图的渲染速度。

 

  Java运行环境,则可以参考GeoServer文档,http://docs.geoserver.org/1.7.4/user/production/container.html#optimize-your-jvm ,配置Java虚拟机,-server按服务器模式运行,预编译字节码和优化字节码; -Xmx1024M -Xms48m,设置最小、最大堆栈,建议物理内存允许的条件下,设置尽可能大的堆栈; -XX:SoftRefLRUPolicyMSPerMB=36000,尽量延缓软引用缓存对象被垃圾回收; -XX:MaxPermSize=128m,增加Java类自身数据描述对象的存储空间,因GeoServer涉及到的类相对多,加之存身的容器(Tomcat等)也有很多其他类; -XX:XX:+UseParallelGC,开启并行垃圾回收。

 

  应用服务器层次的优化,涉及如下方面:GeoServer所在的容器、GeoServer的服务策略设置、可以使用的缓存以及日志输出等方面。Tomcat、Jetty等分别有不同的优化方案,可以参阅相关文档;服务策略设置可以是:SPEED BUFFER File PARTIAL-BUFFER,可以在web.xml中设置,SPEED是最快的策略;可以使用的缓存则包括GeoWebCache、TileCache等,可以参阅相关文档,获得详细的配置和集成说明;日志则输出越多,服务响应就越慢。

 

  GeoServer使用GeoTools工具包实现相关WMS、WFS等服务,GeoTools则使用JTS作为其空间对象模型,空间数据的内存缓存以及空间索引的使用则可以显著的提高服务的性能。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值