ArcGIS for Server 的强大优势在于它可以向位于不同地点的多个用户提供 GIS 功能。规划 GIS 服务器时,需确定出要使用该系统的用户数量以及支持这么多用户所需要的硬件数量。此外,诸如是否可能出现大量用户集中使用的现象等其他因素也会对决策造成影响。如果您无法添加更多硬件,则可以尝试通过调整服务配置来容纳更多用户。
通过 GIS 服务器计算机容纳用户
ArcGIS Server 站点可包含一台或多台计算机。处理负荷较高时,GIS 服务器计算机通常将先于 Web 服务器达到 100% 的 CPU 使用率;因此,确定出要部署的 GIS 服务器计算机的数量是便于容纳用户的一个重要决策。
系统启动并运行后,使用日志及服务器统计数据评估服务器的执行状况。还可使用操作系统工具(如 Windows 性能监视器)评估接纳请求时服务器的繁忙程度。最后,可使用一些第三方工具和服务对系统性能进行监视。Amazon EC2 平台中的 Amazon Cloud Watch 便是其中一个用于在云环境下监视系统性能的 Web 服务示例。
如果发现在系统负荷达到峰值时向 GIS 服务器发出的正常请求超时,并且在较长一段时间内 CPU 使用率都接近 100%,那么在 GIS 服务器层添加额外的计算机可能使系统的性能提高。可以手动添加新计算机,也可以通过采用虚拟计算机的自动化过程添加新计算机。例如,您可以创建一个脚本,以便在 CPU 使用率超出 70% 并持续 15 分钟以上时添加一台新的 GIS 服务器计算机。
地图缓存或地理处理等过程都会占用大量的 CPU 资源。如果能够预期这些工作的执行时间,则可以临时创建更多 GIS 服务器计算机并在工作完成后将其销毁。在这类情形中,虚拟计算机和云计算平台非常方便,因为两者都可以快速获取附加硬件并在使用后立即释放。
许可:
为运行的所有 ArcGIS for Server 软件授权,无论它使用的是专用计算机、虚拟计算机还是云基础框架。
通过调整服务器属性容纳用户
如果无法向系统中添加 GIS 服务器,还可以通过合理地配置服务属性来容纳更多用户。
例如,所有服务都具有实例最大数属性,表示能够在任意指定 GIS 服务器计算机上运行的特定服务实例的最大数量。作为管理员,需确定出在性能水平可以接受的前提下,多少个服务配置实例可以满足用户预期需求。这是一个复合的评估过程,需要计算每个客户端使用服务的平均时间、预期的客户端数量、客户端请求频率以及每个请求所需的处理强度。
对服务器进行持续监控是确定某项服务配置中所需实例数量的最佳方法;如果发现客户端等待时间较长或请求超时,则需要调整可用实例的数量或调整应用程序使用这些实例的方式。确定支持客户端的实例的数量后,使用该值除以部署中 GIS 服务器计算机的数量,然后将服务配置的最大实例数设置为相除后所得结果。例如,如果某项服务最多需要 10 个实例,且有两台 GIS 服务器计算机可用,则将最大实例数设置为 5。
另外,各项服务还具有最小实例数属性。该属性表示每台 GIS 服务器计算机上已创建且可供使用的实例的数量。如果您担心可能会发生多个用户同时使用一项服务的状况,则可考虑减少该服务的最小实例数。如果您愿意,甚至可以将最小实例数设置为 0。
旧版本:
在 10.0 及较低版本中,最小实例数属性和最大实例数属性适用于整个 ArcGIS Server 部署。在 10.1 及更高版本中,这两个属性应用于 GIS 服务器计算机级别。计算这些属性值时,将所需实例总数除以将向其发布服务的集群中 GIS 服务器计算机的数量。
还要考虑到用户使用服务的时间长度。处理某些服务器请求的强度可能要比处理其他请求时大一些。大量处理强度较小的服务请求并不比少量处理强度较大的请求更容易导致服务器瘫痪。每项服务均具有最长等待时间属性和最长使用时间属性。如果用户发出的服务请求屡次超时,则应考虑延长最长等待时间或增大可用服务实例的数量。
通过日志和服务器统计数据来确定是否请求过多而导致超时,以及是否在服务最长使用时间范围之外使用服务。使用管理器或 ArcCatalog 调整可用服务实例的数量和某项服务的最长等待时间和使用时间。