作者:lly
随着数据量、服务量、业务量不断增长与积累,GIS软件服务器需要能够承载和支撑更多的GIS服务,这也对服务器本身提出了更高的要求:
以上存在的困难与挑战,在实际项目中也是屡见不鲜,某项目就遇到了以下三个难点。
3多:
2高:
1限:
为了解决以上难点,经过研发团队数月攻坚,在iServer 11i版本提供了服务实例动态化管理能力,实现单节点承载30w+服务,秒级启动。
开启服务实例动态化管理后,SuperMap iServer启动时只加载、启动GIS服务的内核,不进行初始化,大大节省了初始化耗时及服务的资源占用。因此,当存量GIS服务数达到数千、数万甚至十万时,SuperMap iServer启动速度仍然能够达到秒级,符合运维需要。
当服务接到用户的请求后,能够自动拉起,并能达到毫秒级响应。在GIS服务存量较多时,管理员仍能流畅地进行新发布服务、服务修改等操作,响应迅速、轻松运维。
可以设置允许同时在线服务实例最大个数,可避免资源被过度使用,保障 GIS 系统的可用性。
内置过载保护措施,通过限制运行的服务实例数,优雅控制容量,避免资源的过度使用,从而提升系统的可用性。
在高级-》全局设置-》服务实例动态化管理设置中即可开启或关闭开启服务实例动态化管理。

开启按钮后,可进行参数设置,如下图:

服务状态巡检间隔时间:指检查服务实例是否处于空闲状态的间隔时间,单位毫秒,默认值为 30000 毫秒。该值越小,表示巡检越频繁,服务自动销毁的行为越精确,但同时也越占用计算机资源。
空闲服务主动销毁时间:当一个服务实例被检测到处于空闲状态,且空闲时间超过该阈值时,将被自动销毁。该参数单位毫秒,默认值为 300000 毫秒。
最大在线服务实例数:允许同时在线服务实例最大个数,默认值为 2000 个。当同时在线的服务个数超过该阈值,请求访问新的 GIS 服务时,该服务将不予以启动,同时 iServer 将予以报错提示。
设置完参数后,保存并重启 iServer 。

服务实例动态化管理对以下两种场景都有很好的适用性:
经过测试验证,在10万服务的场景下,iServer启动时间提升40倍+,拉起时间提升25倍+,动态出图提升6倍+。
