天天看点

基于mapserver的性能优化

1、数据库方面

  1. 针对用到的几何字段建立gist索引,并在批量更新时重建索引
  2. 建立索引后用cluster命令对表中数据进行物理重排(可编写定时任务,在合适时间点周期进行)
  3. 增大postgres本身的缓存配置(默认128M)

2、Cache 方面(https://mapserver.org/mapcache/caches.html)

  1. 采用multitier

                  disk+memcache

3、Mapserver

  1. nginx+spawn-fcgi方式运行
  2. 注意mapcache.xml中wms源应该改成mapserv-fcgi模式

4、配置方面(.map文件)

  1. Projection

    用内联表示,最好不用epsg编码表示投影

  2. layer级别

    用比例尺控制图层的显示比例范围

    class渲染是按顺序进行匹配,最常用的放在第一个

    class级别也可以用比例来控制同一张表内子类的显示比例范围

    多个图层连接同一个数据库,将数据库连接hold住。

          PROCESSING "CLOSE_CONNECTION=DEFER"

5、资源加载方面

  1. 只加载用到的raster symbol和字体

6、包装

  1. nginx层面rewrite,隐藏map文件路径和服务引擎地址