Openlayer通过wms请求geoserver加载慢

一、现象

开发的系统使用openlayer通过wms方式请求geoserver的地图,开发环境geoserver安装在windows上,使用默认设置,一切都正常。
系统部署到客户的linux上之后,发现地图显示特别缓慢。

二、调查

1、通过开发工具发现pending时间特别长。
2、geoserver的设置和windows上的设置也都一样。
3、发现单独加载其他图层,比如zxy、geojson方式都不存在卡的问题。
4、当zxy与wms同时存在时,zxy也存在pending时间特长的现象。但是在浏览器地址直接打开zxy时,返回是非常快的,而直接打开wms请求时,返回图片时间就超长。

所以,问题基本定位就是geoserver的问题。

三、对策

1、对图层进行切片后,尝试使用wmts方式请求,速度似乎也没有问题。
2、真正的wms卡慢的原因还是没有定位。
3、发现在geoserver的缓存设置中“Caching defaults”-“Provided Services”中的“Enable direct integration with GeoServer WMS”选项,没有勾选。
而此项设置,就是直接把GeoWebCache集成到geoserver的设置。把此项选中,发现在浏览器直接请求wms时,就能够快速的返回。
在这里插入图片描述

那么为什么windows上没有勾选也没有问题呢?怀疑是windows版本可能实现不一致,开启了直接缓存导致的。关键可能是windows原因,wms请求卡,会导致其他图层的请求也会卡。容易造成调查方向走偏。

猜你喜欢

转载自blog.csdn.net/qgbihc/article/details/120970597
今日推荐