Skip to main content

高级服务属性

对于某些工作流,管理员可能需要调整已发布地理处理服务的属性。 这些调整适用于独立服务器和联合服务器。 示例包括以下内容:

  • 对需要大量内存的大型栅格数据集进行空间分析。

  • 为 Web 工具或地理处理服务上传大型输入文件。

  • 性能优化。

  • 自定义记录要求。

  • 地理处理服务失败时获取额外的诊断输出。

  • 控制地理处理服务内单个任务的可见性。

其他需要调整这些属性的常见场景包括性能优化、自定义记录要求、地理处理服务失败时获取额外的诊断输出,以及控制地理处理服务内单个任务的可见性。

下面描述的大多数属性只能通过管理员 REST API 进行配置。 一旦您或您的管理员获得管理员 REST API 的访问权限,就需要为需要修改的每个地理处理服务编辑服务属性

更改堆大小

堆大小属性控制从 ArcGIS Pro 访问 Web 工具或地理处理服务时客户端可提供的最大文件大小,以及地理处理服务可使用的最大内存。 堆大小可在服务器级别为所有地理处理服务设置,也可为单个服务设置。

为单个服务更改堆大小比更改整个服务器上所有服务的堆大小能提供更好的性能。 每个服务的默认堆大小为 64 MB。 如果输入文件或要素类大于默认大小,请按照以下步骤更改服务堆大小:

  1. 访问需要修改的地理处理服务的编辑服务属性端点。 通常为 https://organization.example.com/serverwebadaptor/admin/services/servicename.GPServer/edit

  2. 检查现有的 frameworkProperties 部分,通常位于所有服务属性的底部附近。

    JSON 格式的服务属性示例

  3. 如果 javaHeapSize 未在 frameworkProperties 中列出,则添加 {"javaHeapSize":"128"} 示例。 如果包含 javaHeapSize,则将值增加至适当的大小。

  4. 单击保存编辑内容进行保存并结束编辑。

要更改整个服务器上所有地理处理服务的堆大小,请完成以下步骤。 默认情况下,组件对象组件 (SOC) 最大堆大小设置为 64 MB。 将其增加适当的量。

  1. 访问编辑机器端点。 通常,它位于 https://organization.example.com/serverwebadaptor/admin/machines/machinename/edit

  2. 增大 **SOC 最大堆大小(以 MB 为单位)**的值。

  3. 单击保存编辑内容以结束编辑。

设置上传大小

上传大小设置控制了客户端可上传的文件大小,这些客户端通过一个 REST 端点连接至服务。 这些客户端通常通过自定义的 Web 应用程序使用服务的 Web 客户端。默认情况下,极限值被设置为 2 GB。 使用此设置可以提供一个适当的默认值,避免为您的服务上传过大文件。

要设置上传大小,请访问需要修改的地理处理服务的编辑服务属性端点。 通常为 https://organization.example.com/serverwebadaptor/admin/services/servicename.GPServer/edit。 更新 maxUploadFileSize 属性的值。 将最大文件上传大小限制为 100 MB 的示例条目为 "maxUploadFileSize": 100,

注:

发布 web 工具时,请确保已选中共享为 Web 工具配置面板中的上传复选框。 或者,通过服务的功能设置页面上的 ArcGIS Server Manager 在现有服务上启用此设置。

设置上传类型

只有特定文件才可上传至 web 工具。 这些文件受各自的扩展名类型的限制(扩展名类型在服务级别设定)。

要设置上传类型,请访问需要修改的地理处理服务的编辑服务属性端点。 通常为 https://organization.example.com/serverwebadaptor/admin/services/servicename.GPServer/edit。 通过添加要允许的文件扩展名来更新 allowedUploadFileTypes 属性。 允许 .kml.gpx 文件的一个示例属性为 "allowedUploadFileTypes": ".kml,.gpx"

注:

发布 web 工具时,请确保已选中共享为 Web 工具配置面板中的上传复选框。 或者,通过服务的功能设置页面上的 ArcGIS Server Manager 在现有服务上启用此设置。

更改最大属性域计数

maxDomainCodeCount 设置用于控制与服务响应一同返回的属性域的数量。 与代码匹配的属性域描述与要素输出响应一同返回。 该设置的默认值为 1000。 如果输出要素的参与属性域数量超过 1000,则不会返回任何属性域信息。 返回的属性域信息可能会增加响应大小。 如果不需要属性域,可将该值设定为 0 或小于服务中属性域数量的值。

要更改最大域计数,请访问需要修改的地理处理服务的编辑服务属性端点。 通常为 https://organization.example.com/serverwebadaptor/admin/services/servicename.GPServer/edit,更新 maxDomainCodeCount 属性并设置最大限制。 将最大域计数限制为 50 的示例为 "maxDomainCodeCount": 50,

本地临时文件夹

当服务器参与拥有超过一台计算机的集群时,或使用 UNC 路径引用目录时,本地临时文件夹是可供 ArcGIS Server 写入中间输出的目录。 这可以避免将中间数据写入 UNC 路径的临时地理数据库或临时文件夹,从而提高性能。 完成后,结果将从本地临时文件夹复制到作业目录,该目录可以为 UNC 路径。 Windows 上 ArcGIS Server 的典型本地临时文件夹可以是 c:/Users/arcgisuser/AppData/Local/Temp/system/servicename_gpserver/jobID/scratch。 目前,服务器部署后无法更改此临时文件夹位置。

将作业目录重用于同步服务

如果 Web 工具基于同步地理处理服务,可通过应用 "reusejobdir": "true" 重用作业目录,以提高性能。 通常,每次执行同步地理处理服务时,都会在服务器计算机的 arcgisjobs 文件夹中创建作业文件夹。 完成时,ArcGIS Server 将删除该作业文件夹。 通过将 reusejobdir 属性设置为 true,即使在作业完成执行后也会保留作业文件夹。 这可以省去了为下一次执行创建临时 GDB 和临时文件夹的时间,因此会在一定程度下提高性能。 (可选)如果将此属性重新设置为 "false",或移除此属性,请联系管理员删除此服务的任何现有作业文件夹。

访问您需要修改的地理处理服务的编辑服务属性端点。 通常为 https://organization.example.com/serverwebadaptor/admin/services/servicename.GPServer/edit

以下是显示 reusejobdir 属性的简化 JSON。 已隐藏其他属性以高亮显示与此属性有关的更改。

{
 "serviceName": "sample",
 "type": "GPServer",
 "other_properties": "other_values",
 "properties": {
     "other_properties": "other_values",
     "reusejobdir": true,
     "executionType": "Synchronous"
 },
 "portalProperties": {},
 "extensions": []
}

将消息写入 ArcGIS Server 日志

如果将 Web 工具发布到 ArcGIS Server 11.3 或更高版本,则可以在 ArcGIS Server 日志中包含来自 Web 工具的消息副本。 ArcGIS Server 日志消息级别将与 Web 工具消息级别相匹配。 对于 Web 工具消息,将存在 3 个级别:错误、警告和信息,这些级别分别与 ArcGIS Server 中的严重、警告或信息相匹配。 可以使用脚本工具消息手动设置 web 工具消息。 许多地理处理工具还包含预设消息。 为了确保在 ArcGIS Server 中正确记录消息,请相应地指定服务器日志设置

访问您需要修改的地理处理服务的编辑服务属性端点。 通常为 https://organization.example.com/serverwebadaptor/admin/services/servicename.GPServer/edit

显示 logGPMessages 属性的简化 JSON。 已隐藏其他属性以高亮显示与此属性有关的更改。

{
 "serviceName": "sample",
 "type": "GPServer",
 "other_properties": "other_values",
 "properties": {
     "other_properties": "other_values",
     "logGPMessages": true,
     "executionType": "Asynchronous"
 },
 "portalProperties": {},
 "extensions": []
}

在特殊情况下返回结果

当异步地理处理服务或基于异步地理处理服务的 Web 工具失败或取消时,将不会有任何结果。 如果此类 Web 工具或地理处理服务发布到 ArcGIS Server 11.5 或更高版本,仍然可以启用 ArcGIS Server 以返回结果(如果通过 ArcGIS REST API 中的 resultsresult 中的资源访问它们)。 使用同步地理处理服务或基于同步地理处理服务的 Web 工具时,此功能不可用。 您也无法访问 ArcGIS Pro 中失败或取消的作业的结果。

要设置 saveRESTResultsOnFailOrCancel 属性,请访问需要修改的地理处理服务的编辑服务属性端点。 通常为 https://organization.example.com/serverwebadaptor/admin/services/servicename.GPServer/edit

显示 saveRESTResultsOnFailOrCancel 属性的简化 JSON。 已隐藏其他属性以高亮显示与此属性有关的更改。

{
 "serviceName": "sample",
 "type": "GPServer",
 "other_properties": "other_values",
 "properties": {
     "other_properties": "other_values",
     "saveRESTResultsOnFailOrCancel": true,
     "executionType": "Asynchronous"
 },
 "portalProperties": {},
 "extensions": []
}

阻止某些工具

发布 Web 工具或地理处理服务时,可能需要禁用或阻止对特定任务的访问。 从 ArcGIS Server 11.5 开始,将 blockedToolsallowedTools 添加到服务属性以阻止特定工具。

使用 blockedTools 属性使特定工具不可用。 使用 allowedTools 属性仅使特定工具可用;所有其他工具将不可访问。 为了方便起见,可以使用任一属性。 要指定任务,请使用任务的名称或显示名称。 当任务的名称与另一个任务的显示名称匹配时,两个任务都会被识别并一起被阻止或允许。

访问您需要修改的地理处理服务的编辑服务属性端点。 通常为 https://organization.example.com/serverwebadaptor/admin/services/servicename.GPServer/edit

显示要阻止的具有多个任务名称的 blockedTools 属性的简化 JSON。 用分号分隔多个名称。

{
 "serviceName": "sample",
 "type": "GPServer",
 "other_properties": "other_values",
 "properties": {
     "other_properties": "other_values",
     "blockedTools": "extractData;bufferInputs",
     "executionType": "Synchronous"
 },
 "portalProperties": {},
 "extensions": []
}