8. 性能和缓存

在前面的章节中,您学习了如何为合成地图的图层设置样式。 然后构建一个JavaScript代码片段,探索在web应用程序中包含映射的几种可能性。

无论您喜欢哪种技术,或者受限制使用哪种技术,都必须向GeoServer 提交GetMap请求。 对于每个请求,GeoServer 都必须执行一组复杂的操作:加载数据、应用样式、将结果呈现为位图, 并将其推回到执行请求的客户端。随着您的web应用程序越来越流行,将添加越来越多的并发请求, 您可能会耗尽资源来满足所有这些请求。

每次都必须从头开始构建地图是没有意义的, 特别是如果您的web应用程序不向用户提供修改层样式的可能性。 在许多情况下,样式只定义一次,或者很少更新。因此GeoServer 实例将呈现许多相同的地图。

当然,这是一个很好的地方,可以做些什么来提高性能。 与其他web文档共享一样,这里的关键字是缓存。

实际上,当您向GeoServer 请求地图时,很可能以前已经生成了相同的地图。 我们需要一个过程来存储和检索需要时的地图,并匹配他们的平等。 这是一个更普遍的问题,并没有特别链接到GeoServer 。 有几个实现地图缓存的系统。 早期的GeoServer 版本没有包含任何缓存机制,您必须在GeoServer 前面设置软件, 拦截map请求,并仅将那些无法从缓存中获得命中的请求转发到GeoServer 。

在他的章节中,我们将详细介绍以下主题:

  • 什么是GeoWebCache以及如何使用它

  • 设置集成GWC的通用参数

  • 配置新网格集

  • 配置瓦片层