1、数据库方面
- 针对用到的几何字段建立gist索引,并在批量更新时重建索引
- 建立索引后用cluster命令对表中数据进行物理重排(可编写定时任务,在合适时间点周期进行)
- 增大postgres本身的缓存配置(默认128M)
2、Cache 方面(https://mapserver.org/mapcache/caches.html)
- 采用multitier
disk+memcache
3、Mapserver
- nginx+spawn-fcgi方式运行
- 注意mapcache.xml中wms源应该改成mapserv-fcgi模式
4、配置方面(.map文件)
- Projection
用内联表示,最好不用epsg编码表示投影 - layer级别
用比例尺控制图层的显示比例范围
class渲染是按顺序进行匹配,最常用的放在第一个
class级别也可以用比例来控制同一张表内子类的显示比例范围
多个图层连接同一个数据库,将数据库连接hold住。
PROCESSING "CLOSE_CONNECTION=DEFER"
5、资源加载方面
- 只加载用到的raster symbol和字体
6、包装
- nginx层面rewrite,隐藏map文件路径和服务引擎地址