作者:Carlo
文章目录
- 数据特点
- 项目难点
- 优化方案
- 先了解“服务实例动态化管理”功能特性
- “服务实例动态化管理”应用场景
- 优化1:开启服务实例动态化管理
- 优化2:同时设置一个特定服务关闭动态管理持续存活
- 优化3:将服务配置信息存储到PostgreSQL数据库中,同时删除本地的iserver-service.xml配置文件
- 应用效果
数据特点
- 栅格数据:数据量大、增长快、接收来源广、类型多、时间跨度大
- 矢量数据:随着栅格数据增长而增长的,包含点线面类型
项目难点
- 有
万级
数据(MongoDB瓦片)需要发布成GIS服务(wms、wmts) - 单个iServer承载的GIS服务较多时, 出现
启动过慢
等问题(7天或更长时间),原因是iServer启动时,会全部构建和初始化服务 - 服务个数多了以后,会占用大量的资源(CPU,内存,句柄等) 进而导致
资源不够用
,且空闲服务会占用、浪费资源 。
优化方案
先了解“服务实例动态化管理”功能特性
(1)服务延迟初始化,轻松支撑海量GIS服务,秒级启动;
(2)服务按需启动,快速响应、运维无忧;
(3)自动销毁空闲服务,合理分配硬件资源;
(4)服务容量控制,提升系统可用性。
“服务实例动态化管理”应用场景
(1)已发布的存量 GIS 服务数量达到数千量级以上,且大部分 GIS 服务使用频次较低;
(2)GIS 服务器资源有限、且大部分GIS 服务使用频次低,需要合理控制资源使用,保证系统的稳定性、可用性。
优化1:开启服务实例动态化管理
(入口:首页-高级-全局设置-服务实例动态化管理设置)
效果
:
- iServer初始化耗时能够达到秒级;
- 首次拉起服务耗时在9min+,后续每次拉起服务不耗时;
- 访问、预览出图耗时达到ms。
优化2:同时设置一个特定服务关闭动态管理持续存活
效果
:
- 首次拉起服务不耗时,后续每次拉起服务不耗时;
- 拉起的服务全部被自动销毁后,再次拉起服务也不会耗时。
优化3:将服务配置信息存储到PostgreSQL数据库中,同时删除本地的iserver-service.xml配置文件
(入口:首页-高级-全局设置-服务配置信息存储设置)
原因
:iServer对服务状态修改时,会读写XML文件。当服务数量多,配置文件较大时,读写操作会比较耗时。建议用户将服务配置存储到数据库中,可以大幅改善配置的读写性能。
效果
:
- 页面启动/暂停单个服务请求耗时为ms级别