在Open层3中WMS图层渲染速度慢?

时间:2017-08-17 05:52:02

标签: azure openlayers-3 geoserver postgresql-9.5

我有Geoserver 2.11.2,PostgreSQL 9.5,开放层3和Tomcat 8都安装在Ubuntu 16.4 Azure云虚拟机上。我还启用了GeoWebCache但仍然WMS层渲染速度很慢(15到16秒)。请找到this。有任何想法提高速度比网络工具的当前速度,谢谢。

2 个答案:

答案 0 :(得分:2)

从广义上讲,这听起来像是错误的配置。 GeoServer文档(http://docs.geoserver.org/stable/en/user/production/)中有一些关于在生产中运行的优秀资源。从GeoSolutions开始,有一些培训材料(http://geoserver.geo-solutions.it/edu/en/enterprise/index.html)和会谈(https://www.slideshare.net/geosolutions/geoserver-in-production-we-do-it-here-is-how-foss4g-2016),它们涉及数据准备,JVM选项以及可能对某些人有所帮助的其他考虑因素的常用技术。

作为一个特别的召唤,我强烈建议马林(https://github.com/bourgesl/marlin-renderer/wiki/How-to-use)。它在GeoServer中的使用可以极大地帮助进行并发渲染(http://www.geo-solutions.it/blog/developerss-corner-achieving-extreme-geoserver-scalability-with-the-new-marlin-vector-rasterizer/)。

可能值得确保安装PostGIS并且您的数据具有空间索引。调整PostGIS是一个单独的主题。

准备好数据并编制索引并且Marlin启动并运行后,可能值得播种GWC缓存。有了它,您的应用程序将只是为粗略缩放级别提供预烘焙的瓷砖,而且应该更快。

答案 1 :(得分:1)

您的地图中的图层似乎已打开很多。只需放大一次就会触发一共 700 个别磁贴请求,其中大部分都是您的GeoServer。我不认为你的主要问题是你的GeoServer(虽然使用其他答案调整建议总是一个好主意),我认为你的主要问题只是吞吐量。

大多数浏览器都有how many simultaneous requests can be sent to the same domain的限制(当使用http 1.1时),一旦达到该限制,所有其他请求将排队,直到完成之前的请求。我认为这是你的问题,你的服务器正在尽可能快地处理请求,但有很多,它根本无法以你期望的速度为它们提供服务。

我强烈建议您在默认情况下减少已加载的图层数量,或实施某种缩放限制,以便某些图层在不同的缩放级别关闭。您甚至可以考虑将多个图层合并为一个图层,并可能使用GeoServers CQL filtering来更改显示的内容。