您可以使用eascmd管理PAI-EAS服务。本文为您介绍如何使用eascmd客户端上传文件、创建服务、修改服务配置信息、切换服务版本、删除服务、查看服务列表、查看服务详细信息、查看服务进程及配置资源组网络的相关命令。

操作命令合集

使用eascmd命令行工具管理服务,相关的操作命令如下。
说明 使用eascmd客户端执行命令时,具体使用的客户端名称以实际为准。
类型功能操作入口
服务相关支持以下两种方式使用eascmd命令行工具:
  • 自行下载eascmd客户端,详细请参见下载并认证客户端
  • 在PAI-DSW的Terminal中,PAI-DSW已经内置了eascmd命令行工具。
资源组相关

上传文件

  • 功能

    PAI-EAS为每位用户提供了OSS仓库,通过eascmd的upload命令,您可以直接上传模型或Processor,并获取上传后的OSS地址。

  • 格式
    eascmd upload <filename> [--keep]
  • 参数
    • <filename>:待上传的文件名称。
    • [--keep]:保留源文件的目录结构。
  • 示例
    在PAI-DSW内,将打包好的SavedModel模型文件savedmodel_example/savedmodel_example.tar.gz上传至OSS。
    eascmd upload savedmodel_example/savedmodel_example.tar.gz --keep
    系统输出如下类似结果。
    [OK] oss endpoint:    [http://oss-cn-shanghai.aliyuncs.com]
    [OK] oss target path: [oss://eas-model-shanghai/182848887922****/savedmodel_example/savedmodel_example.tar.gz]
    Succeed: Total num: 1, size: 33,013. OK num: 1(upload 1 files).
    其中oss://eas-model-shanghai/182848887922****/savedmodel_example/savedmodel_example.tar.gz为存储模型的OSS地址,可以用于服务部署。

创建服务

  • 功能

    通过create命令创建服务。创建服务时,需要提供资源(模型或Processor)的HTTP或OSS地址,您可以将资源上传至OSS,并获取上传后的OSS地址。

  • 命令
    eascmd create <service_desc_json>
  • 参数
    service_desc_json表示描述服务相关信息(模型存储位置及资源规格等)的JSON文件,该文件的示例如下。
    {
      "name": "mnist_saved_model_example",
      "model_path": "http://eas-data.oss-cn-shanghai.aliyuncs.com/models%2Fmnist_saved_model.tar.gz",
      "processor": "tensorflow_cpu_1.12",
      "metadata": {
        "instance": 1,
        "cpu": 1
      }
    }
    服务相关信息JSON文件内的参数说明,详情请参见服务模型所有相关参数说明
  • 示例(假设描述服务相关信息的JSON文件为pmml.json
    eascmd create pmml.json
    系统输出如下类似结果。
    [RequestId]: 1651567F-8F8D-4A2B-933D-F8D3E2DD****
    +-------------------+----------------------------------------------------------------------------+
    | Intranet Endpoint | http://pai-eas-vpc.cn-shanghai.aliyuncs.com/api/predict/savedmodel_exanple |
    |             Token | YjQxZDYzZTBiZTZjMzQ5ZmE0MzczZjIxMGZiNzZmMDBkY2VjMDg4****                   |
    +-------------------+----------------------------------------------------------------------------+
    [OK] Creating api gateway
    [OK] Building image [registry-vpc.cn-shanghai.aliyuncs.com/eas/savedmodel_exanple_cn-shanghai:v0.0.1-20190224001315]
    [OK] Pushing image [registry-vpc.cn-shanghai.aliyuncs.com/eas/savedmodel_exanple_cn-shanghai:v0.0.1-20190224001315]
    [OK] Waiting [Total: 1, Pending: 1, Running: 0]
    [OK] Waiting [Total: 1, Pending: 1, Running: 0]
    [OK] Service is running

修改配置

  • 功能

    对于Instnace和CPU等metadata信息,可以直接使用modify命令的-D参数进行修改。

  • 命令
    eascmd modify <service_name> -Dmetadata.<attr_name>=<attr_value>
    支持同时配置多个参数,详情请参见示例。
  • 参数
    • <service_name>:服务名称。
    • <attr_name>:参数名称。
    • <attr_value>:参数取值。
  • 示例
    将Instance数量配置为10,且每个Instance中的Quota数量为5(5核+20 GB)。
    eascmd modify service_test -Dmetadata.instance=10 -Dmetadata.cpu=5
    扩缩容时,可以只修改服务的metadata.instance参数。如果指定的Instance数量大于服务当前的Instance数量,则系统启动新的Instance,以达到要求的Instance数量,原有实例的运行不受影响。如果指定的Instance数量小于当前Instance数量,则系统停止部分Instance,以达到要求的Instance数量,其他实例的运行不受影响。
    说明 只修改Instance的更新操作与全量更新不同,前者不会触发服务的滚动更新。

修改服务配置

  • 功能

    通过modify命令可以对已部署的服务进行配置修改。

  • 命令
    eascmd modify <service_name> -s <service_desc_json>
  • 参数
    • <service_name>:服务名称。
    • <service_desc_json>:服务描述文件。
      说明 在服务描述文件中,仅写需要修改的参数即可,其他不必要参数不写。如果写了模型文件信息及processor信息,则会被认定为增加一个新的服务版本。

增加服务版本

  • 功能

    通过modify命令可以对已部署的服务增加服务版本。

  • 命令
    eascmd modify <service_name> -s <service_desc_json>
  • 参数
    • <service_name>:服务名称。
    • <service_desc_json>:服务描述文件。
      说明 需要在服务描述文件中指定模型文件信息及processor信息。

停止服务

  • 功能

    通过stop命令可以停止一个运行中的服务。

  • 命令
    eascmd stop <service_name>
  • 参数

    <service_name>表示待停止的服务名称。

启动服务

  • 功能

    通过start命令可以重新启动一个已停止的服务。

  • 命令
    eascmd start <service_name>
  • 参数

    <service_name>表示待启动的服务名称。

删除服务

  • 功能

    通过delete命令可以删除服务,但是只能删除当前地域的服务。

  • 命令
    eascmd delete <service_name>
  • 参数

    <service_name>表示待删除的服务名称。

  • 示例
    假设服务名称为savedmodel_exanple,删除该服务的步骤如下:
    1. 执行删除服务的命令。
      eascmd delete savedmodel_exanple
      系统输出如下类似结果。
      Are you sure to delete the service [savedmodel_exanple] in [cn-shanghai]? [Y/n]
    2. 输入Y。系统输出如下类似结果。
      [RequestId]: 1651567F-8F8D-4A2B-933D-F8D3E2DD****
      [OK] Service [savedmodel_exanple] in region [cn-shanghai] is terminating
      [OK] Service is terminating
      [OK] Service is terminating
      [OK] Service was deleted successfully

蓝绿发布

  • 功能

    通过create -r命令可以对一个已存在的服务创建一个关联服务,再使用release命令根据需求随时切换流量比例,从而进行蓝绿发布。新服务的信息描述JSON文件中的name必须与旧服务同名,其它字段根据需求自由配置。系统会自动在旧服务名基础上增加随机后缀,从而得到新服务名。

    如果删除新服务,则流量会全部切换至旧服务。如果删除旧服务,则全部流量切换至新服务。蓝绿发布之前,最原始服务的Endpoint会成为后续发布迭代的流量入口,无论后续在这个基础上进行多少次蓝绿发布迭代,该入口的Endpoint始终保持不变(例如下面示例中的{domain}/api/predict/savedmodel_example),您无须修改客户端调用代码。
    说明 蓝绿发布不适用于网络直连访问的方式。
  • 命令
    1. 创建关联服务
      eascmd create <service_desc_json> -r
    2. 对蓝绿服务进行切流。
      eascmd release <service_name> -w <weight>
  • 参数
    • <service_desc_json>:服务信息描述的JSON文件。
    • <service_name>:创建的新服务名称。
    • <weight>:新服务承载的流量百分比。
  • 示例(假设服务信息描述文件为pmml.json
    1. 创建关联服务
      eascmd create pmml.json -r
      系统输出以下类似信息。
      [RequestId]: 1651567F-8F8D-4A2B-933D-F8D3E2DD****
      +-------------------+----------------------------------------------------------------------------+
      | Intranet Endpoint | http://xxx.cn-shanghai.pai-eas.aliyuncs.com/api/predict/savedmodel_example_9c16a222 |
      |             Token | YjQxZDYzZTBiZTZjMzQ5ZmE0MzczZjIxMGZiNzZmMDBkY2VjMDg4****                   |
      +-------------------+----------------------------------------------------------------------------+
      [OK] Building image [registry-vpc.cn-shanghai.aliyuncs.com/eas/savedmodel_exanple_9c16a222_cn-shanghai:v0.0.1-20190224001315]
      [OK] Pushing image [registry-vpc.cn-shanghai.aliyuncs.com/eas/savedmodel_exanple_9c16a222_cn-shanghai:v0.0.1-20190224001315]
      [OK] Waiting [Total: 1, Pending: 1, Running: 0]
      [OK] Waiting [Total: 1, Pending: 1, Running: 0]
      [OK] Service is running
      上述输出表示创建了一个名为savedmodel_example_9c16a222的服务,且两个服务分别有独立的流量入口,可以被单独调用。您对新服务可以进行独立测试,不会影响已有服务的线上运行,测试完成后,可以对服务进行切流操作。
    2. 对蓝绿服务进行流量切换。
      eascmd release savedmodel_example_9c16a222 -w 20

      上述命令表示切换20%的流量到新服务savedmodel_example_9c16a222,其余80%的流量在旧服务savedmodel_example上。此时,新服务的独立访问Endpoint({domain}/api/predict/savedmodel_example_9c16a222)关闭,旧服务Endpoint({domain}/api/predict/savedmodel_example)流量的20%会进入新服务,80%进入旧服务。

      系统输出如下类似结果。
      Confirmed to release this service at weight [20%]? [Y/n]
    3. 输入Y,并单击Enter键,系统输出如下类似结果。
      [RequestId]: 9258EEDE-6F99-4C3B-841B-B6E9774F****
      [OK] Service [savedmodel_example_9c16a222] is weighted to 20% now

切换版本

  • 功能

    您可以先通过desc命令查看服务的最新版本和当前版本,再通过version命令切换服务至最新版本之前的任意版本。

  • 命令
    eascmd version <service_name> <version_id>
  • 参数
    • <service_name>:服务名称。
    • <version_id>:待切换服务的版本ID。

查看服务列表

  • 功能

    使用list(或缩写ls)命令可以查看当前用户已部署的服务列表。

  • 命令
    eascmd ls
  • 参数

  • 示例
    eascmd ls
    系统输出如下类似结果。
    [RequestId]: 83945D4E-ED3E-4D35-A989-831E36BB****
    +---------------------------+-------------+----------+---------------------+---------------------+---------+--------+----------------------------------------+
    |        SERVICENAME        |   REGION    | INSTANCE |     CREATETIME      |     UPDATETIME      | STATUS  | WEIGHT |              SERVICEPATH               |
    +---------------------------+-------------+----------+---------------------+---------------------+---------+--------+----------------------------------------+
    | mnist_saved_model_example | cn-shanghai |        1 | 2019-02-21 16:35:41 | 2019-02-21 16:35:41 | Running |      0 | /api/predict/mnist_saved_model_example |
    +---------------------------+-------------+----------+---------------------+---------------------+---------+--------+----------------------------------------+

查看服务信息

  • 功能

    通过desc命令可以查看已部署服务的详情信息。

  • 命令
    eascmd desc <service_name>
  • 参数

    <service_name>表示服务名称。

  • 示例
    eascmd desc mnist_saved_model_example
    系统输出如下类似结果。
    $ eascmd desc mnist_saved_model_example
    +---------------------+--------------------------------------------------------------------------------------------------------------+
    |              Status | Running                                                                                                      |
    |         ServiceName | mnist_saved_model_example                                                                                    |
    |              Region | cn-shanghai                                                                                                  |
    |          CreateTime | 2019-02-21 16:35:41                                                                                          |
    |          UpdateTime | 2019-02-21 16:35:41                                                                                          |
    |         AccessToken |                                                                                                              |
    |        PrivateToken | ZWNjMTNkNDExMmExNjZkYTM4YWQ5YTY0YmFjNjk3YWYzZTRjM2Y2****                                                     |
    |       TotalInstance | 1                                                                                                            |
    |     RunningInstance | 1                                                                                                            |
    |     PendingInstance | 0                                                                                                            |
    |                 CPU | 1                                                                                                            |
    |                 GPU | 0                                                                                                            |
    |              Memory | 1000M                                                                                                        |
    |               Image | registry-vpc.cn-shanghai.aliyuncs.com/eas/mnist_saved_model_example_cn-shanghai:v0.0.1-20190221163541        |
    |              Weight | 0                                                                                                            |
    |       LatestVersion | 1                                                                                                            |
    |      CurrentVersion | 1                                                                                                            |
    |             Message | Service start successfully                                                                                   |
    |       APIGatewayUrl | 1c3b37ea83c047efa0dc6df0cacb****-cn-shanghai.alicloudapi.com/EAPI_182848887922****_mnist_saved_model_example |
    |    APIGatewayAppKey | 2564****                                                                                                     |
    | APIGatewayAppSecret | 12562a7b8858bbba2c2e9c4517ff****                                                                             |
    |    IntranetEndpoint | http://pai-eas-vpc.cn-shanghai.aliyuncs.com/api/predict/mnist_saved_model_example                            |
    |       ServiceConfig | {                                                                                                            |
    |                     |   "generate_token": "false",                                                                                 |
    |                     |   "metadata": {                                                                                              |
    |                     |     "cpu": 1,                                                                                                |
    |                     |     "instance": 1,                                                                                           |                                                                                  |
    |                     |     "region": "cn-shanghai"                                                                                  |
    |                     |   },                                                                                                         |
    |                     |   "model_path":                                                                                              |
    |                     | "http://eas-data.oss-cn-shanghai.aliyuncs.com/models%2Fmnist_saved_model.tar.gz",                            |
    |                     |   "name":                                                                                                    |
    |                     | "mnist_saved_model_example",                                                                                 |
    |                     |   "processor":                                                                                               |
    |                     | "tensorflow_cpu"                                                                                             |
    |                     | }                                                                                                            |
    +---------------------+--------------------------------------------------------------------------------------------------------------+

查看服务进程

  • 功能

    通过showworkers(w)(或缩写w)命令可以查看服务正在运行的进程状态。

  • 命令
    eascmd w <service_name>
  • 参数

    <service_name>表示服务名称。

  • 示例
    eascmd w mnist_saved_model_example
    系统输出如下类似结果。
    [RequestId]: B23BA8AC-CDEC-5704-935F-3CEC6606****
    +-------------------------------+-------------+--------------+---------------------+----------+---------+-------+--------+----------------------------------------------------------------------------------------------------------+
    |         INSTANCENAME          |   INNERIP   |    HOSTIP    |       STARTAT       | RESTARTS | STATUS  | READY | REASON |                                                LASTSTATE                                                 |
    +-------------------------------+-------------+--------------+---------------------+----------+---------+-------+--------+----------------------------------------------------------------------------------------------------------+
    | network-test-69cf5dd6c7-5**** | 10.240.XX.XX | 10.224.XX.XX | 2021-09-27 15:04:22 |        1 | Running | [1/1] |        | {"exitCode":247,"finishedAt":"2021-09-27T07:04:21Z","reason":"Error","startedAt":"2021-09-27T05:36:56Z"} |
    +-------------------------------+-------------+--------------+---------------------+----------+---------+-------+--------+----------------------------------------------------------------------------------------------------------+
    返回结果中的参数解释如下表所示。
    参数描述
    INSTANCENAME服务实例的名称。
    INNERIP实例的内网IP。
    HOSTIP实例所在的节点IP。
    STARTAT实例的启动时间。
    RESTARTS实例的重启次数。实例每次发生OOM或代码Crash均会自动重启,RESTARTS取值会加1。
    STATUS实例的当前状态。其中Pending时表示在等待资源调度,长时间处于Pending状态表示资源不足,实例无法调度。
    READY实例中的容器状态,格式为[当前就绪的容器数/当前实例中所有的容器数]

    当READY为[0/1]时,表示容器正在启动或容器异常健康检查不通过,此时流量不会进入该实例中。

    当一个服务中的所有实例Ready均为[0/1]时,表示整个服务不可用,请求服务时会返回5xx

    REASON实例状态的简单描述。
    LASTSTATE实例上次重启的状态。LASTSTATEreason为OOMKIlled时,表示实例发生了OOM。

创建压测任务

  • 功能

    通过bench create命令对已部署的服务创建压测任务。

  • 命令
    eascmd bench create <bench_desc_json>
  • 参数
    bench_desc_json表示压测任务相关信息的JSON文件,该文件的示例如下。
    {
        "service": {
            "serviceName": "servicename_example"
        },
        "data": {
            "content": "W1sxLDAsMCwwLDEsMSwwLDEsMCwxLDEsMCwwLDEsMCwxLDAsMSwwLDAsMSwxLDEsMCwxLDEsMCwwLDAsMSwxLDEsMCwxLDEsMSwxLDAsMSwxLDEsMCwxLDAsMCwwLDEsMSwwLDAsMCwxLDAsMSwwLDEsMCwwLDEsMCwwLDEsMCwxLDAsMCwxLDAsMCwwLDAsMSwwLDEsMCwxLDAsMCwxLDEsMSwwLDAsMSwwLDAsMCwwLDEsMSwxLDAsMSwxLDAsMCwxLDAsMSwwLDEsMSwxLDEsMCwxLDAsMCwxLDEsMSwxLDAsMCwwLDEsMSwwXV0K"
        }
    }
                    
    您可以通过path指定多个OSS文件作为压测数据,配置示例如下。如需批量配置多条压测数据,可以直接将多个请求数据打包成zip包,通过oss://XX.zippath进行配置。
    {
        "service": {
            "serviceName": "servicename_example"
        },
        "data": {
            "path": "oss://examplebucket/test1.bin,oss://examplebucket/test2.bin"
        }
    }
                    
    JSON文件的相关参数说明,详情请参见创建压测任务
  • 示例(假设描述压测任务相关信息的JSON文件为bench.json)
    eascmd bench create bench.json
    系统输出如下类似结果。
    [RequestId]: DE240637-4976-59AF-A28C-BAA55C0A****
    [OK] Task [benchmark-servicename-example-b514] is creating
    [OK] [Agnet: 0/1]: Succeed to start benchmark master
    [OK] [Agnet: 0/1]: Succeed to start benchmark master
    [OK] [Agnet: 1/1]: Benchmark task is Running
    [OK] Benchmark task is Running
    [OK] Click the link http://127.0.0.1:18222/eas-benchmark/statsview to observe realtime visualization details, you can turn it off with CTRL+C.
    Turning off will not interrupt the benchmark test task, and you can reopen it by the visualize command:
    eascmd -c [config_file] bench visualize benchmark-servicename-example-b514

管理压测任务

查看压测任务列表

  • 功能

    通过bench list(或缩写bench ls)命令查看当前用户创建的压测任务列表。

  • 命令
    eascmd bench ls
  • 参数

  • 示例
    eascmd bench ls
    系统输出如下类似结果。
    [RequestId]: 7F953F8E-8897-5785-808A-CA648302****
    +-------------------------+--------------------------+-------------+----------------+---------+---------------------+
    |        TASKNAME         |          TASKID          |   REGION    | AVAILABLEAGENT | STATUS  |     CREATETIME      |
    +-------------------------+--------------------------+-------------+----------------+---------+---------------------+
    | benchmark-xgb-test-7846 | eas-b-ql470xog6qeh25**** | cn-shanghai |              0 | Stopped | 2022-06-17 17:58:01 |
    | benchmark-xgb-test-b514 | eas-b-bdnzvwq0z0h3xq**** | cn-shanghai |              2 | Running | 2022-06-20 12:18:54 |
    +-------------------------+--------------------------+-------------+----------------+---------+---------------------+

查看压测任务详情

  • 功能

    通过bench desc命令查看指定压测任务的详细信息。

  • 命令
    eascmd bench desc <benchmark_task_name>
  • 参数

    benchmark_task_name表示压测任务名称。

  • 示例
    eascmd bench desc benchmark-demo-test-c7eb
    系统输出如下类似结果。
    +----------------+------------------------------------------------------------------------------+
    |     TaskName   | benchmark-xgb-test-b514                                                      |
    |     TaskId     | eas-b-bdnzvwq0z0h3xq****                                                     |
    |    ServiceName | xgb_test                                                                     |
    |         Region | cn-shanghai                                                                  |
    |   DesiredAgent | 2                                                                            |
    | AvailableAgent | 2                                                                            |
    |         Status | Running                                                                      |
    |        Message | Benchmark task is running                                                    |
    |     CreateTime | 2021-10-20 12:38:35                                                          |
    |     UpdateTime | 2021-10-20 12:38:45                                                          |
    |         Config | {                                                                            |
    |                |   "base": {                                                                  |
    |                |     "agentCount": 2,                                                         |
    |                |     "concurrency": 40,                                                       |
    |                |     "duration": 1200,                                                        |
    |                |     "requestCount":                                                          |
    |                | 922337203685477****,                                                         |
    |                |   },                                                                         |
    |                |  ...                                                                         |
    |                | }                                                                            |
    +----------------+------------------------------------------------------------------------------+

启动压测任务实时可视化

  • 功能

    通过bench visualize命令启动压测任务的实时可视化功能。该命令执行完成后会在本地127.0.0.1启动一个由webserver提供的实时监控页面的展示。

  • 命令
    eascmd bench visualize <benchmark_task_name>
  • 参数

    benchmark_task_name表示压测任务名称。

  • 示例
    eascmd bench visualize benchmark-xgb-test-b514
    系统输出如下类似结果。
    [OK] Click the link http://127.0.0.1:18734/eas-benchmark/statsview to observe realtime visualization details, you can turn it off with CTRL+C.
    Turning off will not interrupt the benchmark test task, and you can reopen it by the visualize command:
    eascmd -c [config_file] bench visualize benchmark-xgb-test-b514
    使用浏览器打开链接http://127.0.0.1:18734/eas-benchmark/statsview,即可查看实时数据结果。

停止压测任务

  • 功能

    通过bench stop命令停止当前正在运行的压测任务。

  • 命令
    eascmd bench stop <benchmark_task_name>
  • 参数

    benchmark_task_name表示压测任务名称。

  • 示例
    eascmd bench stop benchmark-xgb-test-b514
    系统输出如下类似结果。
    Are you sure to stop the benchmark task [benchmark-xgb-test-b514] in [cn-shanghai]? [Y/n]
    [OK] Task [benchmark-xgb-test-b514] is stopping
    [OK] [Agnet: 0/1]: Benchmark task is Running
    [OK] [Agnet: 0/1]: Benchmark task is Stopped
    [OK] Benchmark task is stopped

获取压测任务报告

  • 功能
    通过bench report命令获取压测任务报告。
    说明 当压测任务状态为Stopped状态时,表示压测任务结束,压测报告会保存到OSS中。
  • 命令
    eascmd  bench report <benchmark_task_name>
  • 参数

    benchmark_task_name表示压测任务名称。

  • 示例
    eascmd bench stop benchmark-xgb-test-b514
    系统输出如下类似结果。
    [OK] Benchmark task benchmark-demo-test-c7eb report url: http://eas-benchmark.oss-cn-chengdu.aliyuncs.com/summary/benchmark-demo-test-c7eb-10004.html
    使用浏览器打开url后的链接,即可查看压测报告结果。

启动压测任务

  • 功能

    通过bench start命令启动处于停止状态的压测任务。

  • 命令
    eascmd bench start <benchmark_task_name>
  • 参数

    benchmark_task_name表示压测任务名称。

  • 示例
    eascmd bench start benchmark-xgb-test-b514
    系统输出如下类似结果。
    Are you sure to start the benchmark task [benchmark-xgb-test-b514] in [cn-shanghai]? [Y/n]
    [OK] Task [benchmark-xgb-test-b514] is starting
    [OK] [Agnet: 0/1]: Succeed to start benchmark master
    [OK] [Agnet: 1/1]: Benchmark task is Running
    [OK] Benchmark task is Running
    [OK] Click the link http://127.0.0.1:18947/eas-benchmark/statsview to observe realtime visualization details, you can turn it off with CTRL+C.
    Turning off will not interrupt the benchmark test task, and you can reopen it by the visualize command:
    eascmd -c [config_file] bench visualize benchmark-xgb-test-b514

动态修改客户端实例数量和并发数

  • 功能

    当压测模式为manual时,通过bench update命令动态修改客户端实例数量和并发数。

  • 命令
    eascmd bench update <benchmark_task_name> -Doptional.concurrency=<attr_value> -Doptional.agentCount=<attr_value>
  • 参数
    • benchmark_task_name表示压测任务名称。
    • <attr_value>为具体取值。
  • 示例
    eascmd bench update benchmark-demo-b99c -Doptional.concurrency=2 -Doptional.agentCount=1
    系统输出如下类似结果。
    [RequestId]: 9920C672-4D41-5CC4-8EC0-C690F76E****
    [OK] Running [TaskName: benchmark-demo-b99c, DesiredAgent:1, AvailableAgent: 1, Message: Benchmark task is Updating]
    [OK] Benchmark task benchmark-demo-b99c was updated successfully

删除压测任务

  • 功能

    通过bench delete命令手动删除压测任务。删除压测任务后,该压测任务保存在OSS的压测报告同步删除。

  • 命令
    eascmd bench delete <benchmark_task_name>
  • 参数

    benchmark_task_name表示压测任务名称。

  • 示例
    eascmd bench delete benchmark-xgb-test-b514
    系统输出如下类似结果。
    Are you sure to delete the benchmark task [benchmark-xgb-test-b514] in [cn-shanghai]? [Y/n]
    [OK] Benchmark task benchmark-xgb-test-b514 is Deleting
    [OK] Benchmark task was deleted successfully

删除服务实例(重启实例)

  • 功能

    通过deleteworkers(或缩写dw)命令可以删除服务的一个或多个实例。由于删除实例后,系统会自动启动新实例进行替换,因此该命令也可以作为实例重启操作使用。

  • 命令
    eascmd dw <service_name> <instance_names>
  • 参数
    • <service_name>:表示服务名称。
    • <instance_names>:表示待删除的服务实例名称,多个实例中间使用半角逗号(,)分隔。
  • 示例
    eascmd dw mnist_saved_model_example mnist-saved-model-example-69cf5dd6c7-5****
    系统输出如下类似结果。
    Are you sure to delete the instances [mnist-saved-model-example-69cf5dd6c7-5****] of service [mnist_saved_model_example] in [cn-shenzhen]? [Y/n]
    输入Y后,系统输出如下类似结果。
    [RequestId]: 564C8F56-D97A-555E-9E0B-22BE140A****
    [OK] Instance(s) [mnist-saved-model-example-69cf5dd6c7-5****] for service [mnist_saved_model_example] in region [cn-shenzhen] was deleted successfully

Python SDK环境初始化

说明 仅Linux系统支持。
  • 功能

    通过pysdk init命令初始化Python SDK环境。

  • 命令
    eascmd64 pysdk init ./pysdk_demo
  • 参数

  • 示例
    1. 输入以下初始化命令。
      eascmd64 pysdk init ./pysdk_demo
      系统输出如下类似结果。
      [PYSDK] Please choose your python version [enter for 3.6]:
    2. 输入3.6,系统输出如下类似结果。
      Collecting package metadata (current_repodata.json): done
      Solving environment: done
      ...
      [PYSDK] Installing python processor example app.py
      [PYSDK] Installing python service example app.json

打包完整环境及代码

说明 仅Linux系统支持。
  • 功能

    通过pysdk pack命令打包完整环境。

  • 命令
    eascmd pysdk pack ./<demo>
  • 参数

    <demo>:环境或代码所在目录。

  • 示例(假设需要打包的环境或代码所在目录为demo)
    eascmd pysdk pack ./demo
    系统输出如下类似结果。
    [PYSDK] Creating package: /mnt/workspace/demo.tar.gz

查看资源组列表

  • 功能

    通过resource list(或缩写resource ls)命令可以查看当前账户下的资源组列表。

  • 命令
    eascmd resource ls
  • 参数

  • 示例
    eascmd resource ls
    系统输出如下类似结果。
    +--------------------------+-------------+---------------+----------+----------+------------------+---------------------+---------------+
    |       RESOURCENAME       |  CLUSTERID  | INSTANCECOUNT | GPUCOUNT | CPUCOUNT |     OWNERUID     |     CREATETIME      |    STATUS     |
    +--------------------------+-------------+---------------+----------+----------+------------------+---------------------+---------------+
    | eas-r-lzo32vrdbtukr7te3i | cn-shanghai |             1 |        0 |       16 | 182848887922**** | 2020-03-18 13:09:24 | ResourceReady |
    +--------------------------+-------------+---------------+----------+----------+------------------+---------------------+---------------+

查看资源组详情

  • 功能

    通过resource desc命令可以查看某个资源组的详细信息。

  • 命令
    eascmd resource desc <resource_id>
  • 参数

    <resource_id>表示待查看的资源组ID,即resource list(ls)命令返回结果中的RESOURCENAME字段。

  • 示例

    查看资源组ID为eas-r-lzo32vrdbtukr7te3i的资源组详情。

    eascmd -c ~/.eas/shanghai2.conf resource desc eas-r-lzo32vrdbtukr7te3i
    其中-c ~/.eas/shanghai2.conf表示使用其他配置文件,而不是使用默认的配置文件~/.eas/config。系统输出如下类似结果。
    +---------+-----------------+----------------------------------------------------------+
    |   Basic | ResourceName    | eas-r-lzo32vrdbtukr7te3i                                 |
    |         | Region          | cn-shanghai                                              |
    |         | CpuCount        | 16                                                       |
    |         | GpuCount        | 0                                                        |
    |         | instanceCount   | 1                                                        |
    |         | CreateTime      | 2020-03-18 13:09:24                                      |
    |         | LastStatus      | ResourceReady                                            |
    |         | Message         | Resource is ready                                        |
    |         | RoleArn         | acs:ram::xxx:role/AliyunPAIAccessingENIRole              |
    | Network | VpcId           | vpc-uf6s9pv47nu03srne****                                |
    |         | VSwitchId       | vsw-uf6voq53e893k56ws****                                |
    |         | SecurityGroupId | sg-uf6c5twkfar8l06c****                                  |
    |         | DestinationCIDR |                                                          |
    |         | AuxVSwitchList  | []                                                       |
    +---------+-----------------+----------------------------------------------------------+

查看资源组实例列表

  • 功能

    通过resource list_instance(或缩写为resource li)命令可以查看某个资源组的实例列表及每个实例的资源使用情况。

  • 命令
    eascmd resource list_instance <resource_id>
  • 参数

    <resource_id>表示待查看的资源组ID,即resource list(ls)命令返回结果中的RESOURCENAME字段。

  • 示例
    eascmd resource li eas-r-lzo32vrdbtukr7te3i
    系统输出如下类似结果。
    +------------------------------------+--------------+--------+----------------+----------------+-------------------+---------------------+----------------+------------+
    |            INSTANCENAME            |  INSTANCEIP  | STATUS | TOTAL/USED CPU | TOTAL/USED GPU | TOTAL/USED MEMORY |     CREATETIME      |  INSTANCETYPE  | CHARGETYPE |
    +------------------------------------+--------------+--------+----------------+----------------+-------------------+---------------------+----------------+------------+
    | cn-shanghai.i-uf6dj71ir6mh3gjmaz3a | 10.224.XX.XX | Ready  | 16/6           | 0/0            | 62240M/4200M      | 2020-03-18 13:09:34 | ecs.g6.4xlarge | PostPaid   |
    +------------------------------------+--------------+--------+----------------+----------------+-------------------+---------------------+----------------+------------+

配置资源组网络

  • 功能

    通过resource network命令可以设置某个资源组的直连情况,用于连通PAI-EAS VPC和用户VPC之间的网络。一方面可以在用户VPC内以直连软负载的方式调用PAI-EAS服务,另一方面可以在PAI-EAS Processor中反向访问用户VPC中的内网资源(例如RDS、Redis等)。

  • 命令
    eascmd resource network <resource_id> -s <network_cfg.json>
  • 参数
    • <resource_id>:表示查待看的资源组ID,即resource list(ls)命令返回结果中的RESOURCENAME字段。
    • <network_cfg.json>:网络配置文件,该文件格式如下所示。
      {
        "Action":"create",
        "VSwitchId": "vsw-8vbsunr5bkcbyxh94****",
        "SecurityGroupId": "sg-8vbhwowdxzx5fjcx****",
        "VSwitchIdList": ["vsw-8xbsunr5abcbyqh93****", "vsw-8xbs1y7gu6cxbvqzw****"],
        "DestinationCIDR": "192.XX.XX.XX/16"
      }
      各参数的含义如下表所示。
      参数描述是否必选默认值
      Action网络设置的操作,取值范围如下:
      • create:开通直连。
      • delete:关闭直连,此时无需配置其他参数。
      VSwitchId待连通的目标主vSwitch ID,PAI-EAS会自动在该vSwitch中创建ENI弹性网卡,请不要主动删除该ENI,否则会导致网络连通性问题。
      SecurityGroupId客户端ECS所在的安全组ID。
      说明 客户端ECS必需归属于该安全组中,否则会导致网络连通性问题。
      VSwitchIdList待打通的附属vSwitch列表,必须与主vSwitch在同一个VPC中,这些VSwitch的IP网段会自动被加入到PAI-EAS的路由表规则中。空数组([])
      DestinationCIDR待打通的客户端目标网段,必须与主vSwitch在同一个VPC中,该网段会被自动加入到PAI-EAS的路由表规则中。空字符串("")
      说明 VSwitchIdListDestinationCIDR原理相同,均是为了连通PAI-EAS集群与用户某个网段的网络。如果需要连通多个指定vSwitch,则使用VSwitchIdList。如果需要连通一个大网段(例如整个VPC),则使用DestinationCIDR字段。建议不要使用10.0.0.0/810.224.0.0/1610.240.0.0/16网段,否则会导致网络冲突问题。如果有其他需求,请联系您的商务经理来处理。

预测

进行预测调用时,可以根据创建服务时生成的HTTP URL访问服务。预测服务的输入输出格式由Processor自定义,详细请参见模型服务调用章节中的通用Processor服务请求数据构造部分。