可通过配置多个属性来更改部署中对 GeoAnalytics Server 的设置。要优化 GeoAnalytics Server 的性能,需要为您的组织配置这些设置。配置这些设置时,必须考虑以下内容:
- 将同时运行的作业数
- 正在使用的数据大小
- 作业运行频率
- 可用资源
门户成员运行的 GeoAnalytics 工具 由 ArcGIS Server 站点的 GeoAnalyticsTools 系统服务中的任务提供支持。下面的系统属性将在 GeoAnalytics Server 站点中设置,而服务属性和实例数将在 GeoAnalyticsTools 系统服务本身上设置。修改任何参数前,请通读所有设置选项以计划您的 GeoAnalytics 配置。
警告:
当升级至新版 ArcGIS Enterprise 时,将不会保存这些 GeoAnalytics Server 设置。在升级前,请留意对设置的任何更改,并在升级完成后重新执行。
本主题中使用以下示例:
- 示例 1:一次运行一个作业的三机 GeoAnalytics Server 站点
- 示例 2:同时运行两个作业的三机 GeoAnalytics Server 站点
上面的两个示例均包含三个计算机(节点),每个计算机具有 16 GB 的 RAM 和 4 个 CPU 内核。因此每个 GeoAnalytics Server 站点具有 48 GB 的 RAM 和 12 个内核。
注:
建议向 GeoAnalytics 分配的每个计算机的内存不应超过 30 GB。
系统属性
下面是站点管理员可配置的可选系统属性,以为 ArcGIS Server 站点中每台计算机上的计算平台工作进程分配 CPU 和内存资源:
- percentageMaxAllowedComputeCores - 此项表示单个节点上的计算平台工作进程将使用的最大 CPU 内核数(以在计算机上可用内核总数中所占百分比表示)。默认值为 80%,允许的最大值为 90%。如果指定的值转换为小于一个 CPU 内核,则将一个 CPU 内核用于计算平台工作进程。
- percentageMaxAllowedComputeMemory - 此项表示单个节点上的计算平台工作进程将使用的最大内存(以在计算机上可用内存总数中所占百分比表示)。默认值为 80%,允许的最大值为 90%。
要编辑系统属性,请完成以下步骤:
- 以具有管理权限的用户身份登录到 ArcGIS Server 管理员目录。URL 格式为 http://gisserver.domain.com:6080/arcgis/admin/。
- 转至系统 > 属性。
- 单击更新。
- 按照以下 JSON 格式添加属性:{ "percentageMaxAllowedComputeCores": <value>, "percentageMaxAllowedComputeMemory": <value>}(例如,{"percentageMaxAllowedComputeCores": 90, "percentageMaxAllowedComputeMemory": 90})。
服务属性
GeoAnalyticsTools 中存在两个服务级别属性 用于分配每个作业允许的最大内存和 CPU 内核数。每个计算机默认设置为 6 GB 和 4 个 CPU 内核。建议根据您的站点中可用的内存和 CPU 资源,将这些值更新到相应的值。使用默认值将不会利用分布式计算且将导致性能不佳。
注:
只有管理员可以设置服务级别的属性。您需要知道服务器站点中的核数以及每台计算机上的 RAM 数量。如果您不知道这些值,可以使用 GeoAnalytics 健康检查得出。
以下方程可用于估算每台机器每项作业所允许的最大内存:
Floor(((percentageMaxAllowedComputeCores) * (total cores on the Server Site) / (number of simultaneous jobs)) = (Maximum allowed compute cores per job)
以下方程可用于估算每项作业所允许的最大计算核数:
Floor((percentageMaxAllowedComputeMemory) * (GB of RAM on a single GeoAnalytics machine) / (number of simultaneous jobs)) = (Maximum allowed memory per job per machine)
注:
每台机器使用的内存量在所有 GeoAnalytics Server 机器中是相同的。如果在具有不同 RAM 数量的 GeoAnalytics Server 站点具有多台计算机,则请使用 RAM 数量最少的机器值。
在示例 1 中,假设您想要使用高达 80% 的可用计算核和计算内存(如系统属性所述)。对于总共包含 12 个 CPU 核和 48 GB RAM(每台计算机上 16 GB)的站点,核数和 RAM 数量由以下方程决定。
- 核数:
Floor(((.80) * (12))/1) = Floor(9.6) = 9
- 每台机器的 RAM 数量:
Floor(((.80) * (16))/1) = Floor(12.8) = 12
要利用 GeoAnalytics Server 中的可用资源并跨站点的多个计算机分配任务,可以将相应的值更新为以下值:
- 每个计算机的每个作业允许的最大内存 (GB):12
- 每个作业允许的最大计算内核数 (CPU):9
这将确保作业被分配到站点中的三台计算机,且将仅使用低于 80% 的所有计算机的可用资源。分配设置还将影响实例数,如下所述。
在示例 2 中,假设您想要使用高达 80% 的可用计算核和计算内存(如系统属性所述)并能够同时运行两个作业。这意味着将始终为两个作业设置资源。对于总共包含 12 个 CPU 核和 48 GB RAM(每台计算机上 16 GB)的站点,核数和 RAM 数量由以下方程决定。
- 核数:
Floor(((.80) * (12))/2) = Floor(4.8) = 4
- 每台机器的 RAM 数量:
Floor(((.80) * (16))1) = Floor(6.4) = 6
要利用 GeoAnalytics Server 中的可用资源并跨站点的多个计算机分配任务,可以将相应的值更新为以下值:
- 每个计算机的每个作业允许的最大内存 (GB):6
- 每个作业允许的最大计算内核数 (CPU):4
要修改这些属性,可执行以下操作:
- 在您的 GeoAnalytics Server上,以具有管理权限的用户身份登录 ArcGIS Server 管理器。URL 格式为 https://gisserver.domain.com:6443/arcgis/manager。
- 在服务选项卡上,选择系统文件夹。
- 在可用服务列表中,找到并选择编辑 GeoAnalyticsTools 服务。
- 使用参数选项卡可设置服务的属性。其中包括:
- 每个计算机的每个作业允许的最大内存 (GB) - 此项表示每个计算机的每个作业可使用的内存数(以千兆字节为单位)。
- 每个作业允许的最大计算内核数 (CPU) - 此项表示集群的所有计算机中的每个作业可使用的 CPU 内核总数。
- 完成操作后,请单击保存并重新启动以更新服务属性。
如果未修改初始值,GeoAnalytics 任务将仅使用一部分可用资源(使用 4 个内核和 18 GB 内存,在设置示例中共 12 个可用内核和 48 GB 可用内存)。
注:
选择要使用的内存数时,请确保设置的数字小于或等于为计算机资源设置的百分比(默认 80%)。由此,作业将等待实际上不可用的资源一分钟,然后显示以下错误并取消作业:ERROR BD_101057:无法启动分布式作业。请检查您的 GeoAnalyticsTools 服务设置并确保有足够的资源可供作业运行。 如果由于其他作业正在使用资源而导致该资源不可用,则还将出现此错误。
GeoAnalyticsTools 服务的最小和最大实例数
为站点中的每个 ArcGIS Server 计算机设置的 GeoAnalyticsTools 服务的默认最小和最大实例数为一。根据 GeoAnalytics Server 站点中包含的计算机数量,将存在 (n) 个实例可用于接受 GeoAnalytics 作业。根据服务属性中为每个作业分配的实例数和内存数与 CPU 内核数,可以处理一个或多个并发请求。GeoAnalytics 工具 的任何其他请求将排队等待,直到实例或内存和 CPU 资源可用。如果一分钟后没有可用资源,则将取消该作业。
为每个作业分配可能的最大内存数和 CPU 内核数适用于需要它的作业。
要同时处理多个作业,可以根据需要将为站点中的每个计算机分配的最大实例数增加到大于一。但是,您还需要修改每个作业的 CPU 和内存限值,以便存在足够的 CPU 和内存资源可供每个并发作业使用。
要设置 GeoAnalyticsTools 服务的最小和最大实例数,请执行以下步骤:
- 登录到 ArcGIS Server 管理员目录。URL 格式为 https://gisserver.domain.com:6443/arcgis/admin。
- 转至服务 > 系统 > GeoAnalyticsTools。
- 单击编辑。
- 编辑 maxInstancesPerNode 和 minInstancesPerNode 属性并单击保存编辑。
在三机示例中,将存在一共三个可用实例,足以满足示例 1 和示例 2 使用案例。要使用此三机方案运行三个以上的并发作业,除调整 CPU 和内存限值外,还必须更新实例数。
所有实例中的 CPU 和内存限值总数应小于 CPU 和内存的系统限值。每个节点的总内存乘以实例数必须小于单个计算机上的可用内存,即 (16 GB x 0.80)/2 个实例 = 6.4,必须是大于 6 的整数,计算核数必须小于总核数除以实例数,即 (12 个内核 x .80)/2 个实例 = 4.8,必须是大于 4 的整数。
GeoAnalyticsTools 服务超时
默认情况下,GeoAnalyticsTools 服务处理的任何长时间运行的作业将在 24 小时后超时。您可能想要编辑此属性,以便工具在运行较长或较短时间后超时。可以按照以下步骤在 ArcGIS Server Manager 中编辑 GeoAnalyticsTools 服务的超时属性。
- 登录 ArcGIS Server Manager。URL 格式为 https://gisserver.domain.com:6443/arcgis/manager。
- 在服务选项卡上,选择系统文件夹。
- 在可用服务列表中,找到并选择编辑 GeoAnalyticsTools 服务。
- 在池化选项卡的指定服务超时部分下设置该服务的超时属性。将客户端可使用服务的最长时间更改为要为新超时属性设置的时间(以秒为单位)。
- 单击保存并重新启动以更新服务。
GeoAnalytics Server 临时文件位置
在 GeoAnalytics Server 中运行任务时,临时文件默认写入 \<ArcGIS Server installation directory>\server\framework\runtime\spark\work> 文件夹。管理员可以通过指定 geoAnalyticsTempFolder 属性,选择临时文件的备用位置,请遵循以下步骤操作。
注:
该 geoAnalyticsTempFolder 位置应该是 GeoAnalytics Server 站点每台计算机上的本地目录,并且它应该有相当可用的磁盘空间来支持在非常大的数据集上执行 GeoAnalytics 任务。
- 在 GeoAnalytics Server 站点上,以具有管理权限的用户身份登录到 ArcGIS Server 管理员目录。URL 格式为 http://gisserver.domain.com:6080/arcgis/admin/。
- 转至系统 > 属性。
- 单击更新。
- 按照以下 JSON 格式添加属性:{"geoanalyticsTempFolder": "<value>"}(例如,{"geoanalyticsTempFolder": "/data/temp"})。在系统属性页面上反映更改最多需要一分钟的时间。
- 使用计算平台健康检查服务检查 GeoAnalytics Server 的状况。浏览至系统 > 平台服务 > Compute_Platform 并单击健康。