部署参数配置指南

在EAS中,可以通过一个JSON格式的配置文件来定义和部署在线服务。当准备好JSON配置文件后,便可通过EAS控制台、EASCMD客户端或SDK等多种方式完成服务部署。

部署服务的核心是创建一个包含所有必需配置的JSON文件。对于初次使用者,建议在控制台的服务部署页面进行基础配置,系统会自动生成对应的JSON内容,可以在此基础上进行修改和扩展。

在推理服务页签,单击部署服务。在部署服务页面,选择自定义模型部署 > JSON独立部署。

输入准备好的JSON文件,单击部署。等待一段时间,当服务状态变为运行中时,表明服务部署成功。

通过客户端工具EASCMD,可以在自己服务器上对模型服务进行管理,包括创建、查看、删除及更新服务。具体操作步骤如下:

下载并认证客户端

执行部署命令

系统返回如下类似结果。

参数

是否必选

描述

metadata

cloud

containers

dockerAuth

当镜像来源于私有仓库时,需配置dockerAuth,值为镜像仓库的用户名:密码经Base64编码后的字符串。

networking

storage

token

表示访问鉴权的Token字符串。如果未指定,则系统自动生成。

model_path

使用processor部署时必选。model_path和processor_path分别为模型和Processor的输入数据源地址,均支持以下格式的地址:

OSS地址:地址链接可以是具体文件路径或文件夹路径。

本地路径:如果使用test命令进行本地调试,则可以使用本地路径。

oss_endpoint

默认无需指定该参数,会使用当前地域的内网OSS地址,来进行模型文件或Processor文件的下载。当跨地域访问OSS时,需要指定该参数。例如:当您在杭州地域部署服务时,model_path中填写了北京地域的OSS地址,则需要使用该参数来指定北京地域的OSS公网访问地址。

model_entry

表示模型的入口文件,可以包含任意文件。如果未指定,则使用model_path中的文件名。主文件路径会传递给Processor中的initialize()函数。

model_config

表示模型的配置,支持任意文本。该参数值会传递给Processor中initialize()函数的第二个参数。

processor

如果使用自定义Processor,则无需配置该参数,只需要配置processor_path、processor_entry、processor_mainclass和processor_type参数。

processor_path

Processor相关的文件包路径,可以参见model_path参数的描述信息。

processor_entry

当processor_type为cpp或python时,必须指定该参数。

processor_mainclass

当processor_type为java时,必须指定该参数。

processor_type

processor实现的语言,取值如下:

cpp

java

python

warm_up_data_path

当服务实例因Processor代码异常发生Crash后,服务实例是否会自动重启。取值如下:

true:表示服务实例不自动重启,以保留现场进行问题排查。

false:默认值,表示服务实例自动重启。

autoscaler

labels

为EAS服务配置标签。格式为key:value。

表示分布式推理配置下单实例部署的机器数。默认值为2。

sinker

confidential

通过配置系统信任管理服务,保证服务部署和调用的过程中数据、模型和代码等信息可以安全加密,实现安全可验证的推理服务。格式如下:

安全加密环境主要针对您挂载的存储文件,请先完成存储文件的挂载再打开该功能。

trustee_endpoint:系统信任管理服务Trustee的URI。

decryption_key:解密密钥的KBS URI。例如kbs:///default/key/test-key。

参数

是否必选

描述

name

服务名称,必须在同一地域内唯一。

instance

服务启动的实例数量。

workspace_id

设置工作空间ID参数后,服务将只能在指定的PAI工作空间之内使用。例如:1405**。

cpu

每个实例需要的CPU数量。

memory

每个实例需要的内存数量,取值为整型,单位为MB。例如,"memory": 4096表示每个实例需要4 GB内存。

gpu

每个实例需要的GPU数量。

gpu_memory

每个实例所需的GPU显存数量,取值为整型,单位为GiB。

系统支持实例按显存进行调度,实现单卡共享多实例功能。如果使用显存调度,则需要将gpu字段配置为0。当gpu字段配置为1时,表示实例独占整张GPU卡,此时gpu_memory 字段会被忽略。

当前未开启显存的严格隔离,您需自行控制各实例的显存使用量,不能超出申请量,避免出现显存内存溢出。

gpu_core_percentage

每个实例所需的单个GPU算力比例,取值为1~100之间的整数,单位为百分比。例如填写10,代表的是单个GPU的10%算力。

系统支持实例按算力进行调度,实现单卡共享多实例功能。另外指定该参数时,必须指定gpu_memory参数,否则该参数不生效。

qos

实例的服务质量,可选参数值为空或BestEffort。当qos指定为BestEffort时,表示进入CPU共享模式。使实例完全按照显存和内存进行调度,不再受节点的CPU数量限制,节点上的所有实例共享CPU。此时cpu字段表示,按CPU共享模式时,单个实例能使用的最大配额。

resource

资源组ID,配置策略如下:

如果服务部署在公共资源组,则可以忽略该参数,此时服务进行按量付费。

如果服务部署在专属资源组,则配置该参数为资源组ID。例如eas-r-6dbzve8ip0xnzt****。

cuda

服务需要使用的cuda版本。服务运行时,会自动将指定版本的cuda挂载到实例的/usr/local/cuda目录中。

目前支持的cuda版本为:8.0,9.0,10.0,10.1,10.2,11.0,11.1,11.2。使用示例为:"cuda":"11.2"。

rdma

表示分布式推理配置下,是否开启RDMA网络。设置为1表示开启RDMA网络。若未配置rdma参数,则表示关闭RDMA网络。

当前仅使用灵骏智算资源部署的服务可以使用RDMA网络。

enable_grpc

表示是否开启服务网关的GRPC连接,取值如下:

false:默认值,表示网关不开启GRPC连接,默认支持HTTP请求。

true:表示网关开启GRPC连接。

如果使用自定义镜像部署服务时,镜像中的服务端实现为GRPC,则需要通过该参数将网关的协议切换成GRPC。

enable_webservice

表示是否开启webserver,从而部署为一个AI-Web应用:

false:默认值,表示不开启webserver。

true:表示开启webserver。

type

请您慎重调整高级参数。

参数

是否必选

描述

rpc

batching

是否开启Server端Batching,用于GPU模型加速,仅支持预置processor模式。取值如下:

false:默认值,关闭Server端Batching。

true:开启Server端Batching。

keepalive

设置单个请求的最长处理时间(单位:毫秒)。如果请求处理时长超过该值,服务端将返回408超时并关闭连接。默认值:专属网关600000。应用型专属网关(ALB)不支持此项配置。

io_threads

每个实例用于处理网络IO的线程数量,默认值为4。

max_batch_size

max_batch_timeout

max_queue_size

创建异步推理服务时,队列最大长度,默认值为64。队列满时,服务端返回450并关闭连接。为保证服务端不会压力过载,队列可以提前通知客户端向其他实例进行重试。对于RT较长的服务队列,可以适当减小队列长度,以避免请求在队列中堆积导致大量请求超时。

worker_threads

每个实例中用于并发处理请求的线程数,默认值为5,仅支持预置processor模式。

rate_limit

表示开启QPS限流功能,并限制实例处理的最大QPS。默认为0,表示关闭QPS限流功能。

例如:该参数配置为2000,当QPS高于2000时,会拒绝请求并返回429(Too Many Requests)。

enable_sigterm

取值如下:

false(默认值):实例进入退出状态时不会发送SIGTERM信号。

true:在服务实例进入退出状态时,系统会立即向主进程发送SIGTERM信号,服务内进程收到该信号后需要在信号处理函数中进行自定义的优雅退出操作,若不处理该信号可能导致主进程收到信号后直接退出,从而使优雅退出失败。

rolling_strategy

max_surge

服务滚动更新过程中,多于指定实例数,最多可以额外创建的实例个数。该参数可以为正整数,表示实例个数;也可以为百分比,例如2%。默认比例为2%。增大该参数可以提高服务更新速度。

例如:服务实例个数指定为100,该参数配置为20,则服务更新开始后会立即创建20个新实例。

max_unavailable

服务滚动更新过程中,最大不可用的实例个数。该参数可以在服务更新过程中,为新实例释放资源,避免服务因空闲资源不足而更新卡住。目前在专有资源组中,该参数默认为1;在公共资源组中,该参数默认为0。

例如:该参数为N,则服务更新开始时会立即停止N个实例。

如果空闲资源充足,可以将该参数配置为0。该参数配置过大可能会影响服务稳定性。因为在服务更新瞬间,可用实例个数会减少,则单实例承载的流量会变大。您需要权衡服务稳定性和资源情况来配置该参数。

表示实例的优雅退出时间,单位为秒,默认为30秒。

EAS服务采用滚动更新的策略,实例会先进入Terminating状态,服务会先将流量从要退出的实例上切走,实例等待30秒后将已收到的请求处理完成后退出。如果请求处理时间很长,为保证服务更新时,状态为in progress的请求都能被处理完,您可以将该参数值适当调大。

如果将该参数值调小则会影响服务稳定性,将该参数配置过大则会导致服务更新速度过慢,如果无特别需求请不要配置该参数。

scheduling

服务实例调度时的打散策略,支持以下几种策略:

host:按照节点来打散,实例尽可能分散在不同的节点上。

zone:按照节点所在的可用区来打散,实例尽可能分散在不同的可用区。

default:按照默认策略进行调度,无主动打散的逻辑。

配置示例:

resource_rebalancing

取值如下:

false(默认值):不启用该功能。

true:EAS会周期性地在高优先级资源上创建探针实例。如果探针实例调度成功,则会以指数增长方式创建更多探针实例,直至调度失败。同时,成功调度的探针实例完成初始化并且进入就绪状态后,会替换低优先级资源上的实例。

该功能可以解决以下问题:

在服务滚动更新过程中,正在终止的实例仍会占用资源,导致新创建实例启动在公共资源组上,由于公共资源限制,后续新实例会重新调度回专属资源组上。

当同时使用竞价实例和常规实例时,系统会定期检查竞价实例是否可用,如果可用,则会将常规实例迁移至竞价实例上。

workload_type

resource_burstable

true:表示开启。

false:表示关闭。

shm_size

配置实例的共享内存,直接对内存进行读写操作,无需数据的复制或传输。单位为GB。

参数

是否必选

描述

computing

instances

使用公共资源组部署服务时,需设置该参数,表示使用的资源规格列表。当实例规格竞价失败或库存不足时,按照配置顺序依次尝试使用下一个实例规格创建服务。

type: 资源规格

spot_price_limit为可选参数:

当配置该参数时:表示对应实例规格使用竞价实例,并指明价格上限。单位为CNY,支持按量付费。

当不配置该参数时:表示对应实例规格为普通的按量付费实例。

capacity:配置使用该机型的实例数目上限。可以是数字,如“500”;也可以是字符串,如“20%”。配置后,如果机型实例数目达到上限,即使该机型还有库存资源也不会再使用。

例如:服务总的实例数为200,配置A机型的capacity为20%,即该服务最多只会使用A机型拉起40个实例,其余的实例将通过其他规格拉起。

disable_spot_protection_period

使用竞价实例时,需设置该参数,取值如下:

false(默认值):表示在竞价实例创建成功后,默认有1小时保护期。在保护期内即使市场价格超过了出价,实例也不会被释放。

true:表示禁用保护期,无保护期实例会始终比有保护期实例优惠10%左右。

networking

vpc_id

分别表示为EAS服务绑定的专有网络VPC、交换机和安全组。

vswitch_id

security_group_id

示例如下:

参数

是否必选

描述

image

使用镜像部署时必填。用于部署模型服务的镜像地址。

env

name

镜像执行时的环境变量名称。

value

镜像执行时的环境变量取值。

command

二者必选其一

script

镜像的入口执行的脚本,可指定较为复杂的脚本形式,多行以\n或分号分隔。

port

容器端口。

由于EAS引擎监听固定的8080/9090端口,因此容器端口需要避开8080/9090端口。

prepare

pythonRequirements

实例启动前安装的python requirements列表,要求镜像中在系统路径中存在python和pip命令,list格式,如:

pythonRequirementsPath

参数

是否必选

描述

gateway

gateway_policy

rate_limit:服务的全局限流,即服务每秒接收的最大请求数。

enable:是否打开限流。取值true表示打开限流,false表示关闭限流。

limit:限流值。

共享网关的服务会默认配置单服务为 1000qps,服务器组为 10000qps。专属网关无默认值。

concurrency_limit:服务的全局并发控制,即服务瞬时正在处理的最大请求数。应用型专属网关(ALB)暂不支持该设置。

enable:是否打开限流。取值true表示打开限流,false表示关闭限流。

limit:限流值。

限流配置示例:

参数

是否必选

描述

type

支持配置以下两种存储类型:

maxcompute:大数据MaxCompute。

sls:日志服务SLS。

config

MaxCompute项目名称。

MaxCompute数据表。

SLS项目名称。

SLS的Logstore。

配置示例如下:

上述参数在JSON文件中的配置示例如下:

关注阿里云公众号或下载阿里云APP,关注云资讯,随时随地运维管控云服务

THE END
0.Android接入Google原生登录(非firebase)项目配置方式1 在API控制台里选择该项目 1、在OAuth同意屏幕里填写资料, 2、在凭据里为自己的项目创建一个Android客户端ID,需要指定包名以及SHA1签名,建议开发跟发布环境的签名都添加进去 3、在凭据里再创建一个server_client_id 项目配置方式2 1、如果是首次使用谷歌相关服务,需要下载个google-service.jsojvzquC41yy}/lrfpuj{/exr1r1:35=8cc:jf:=
1.如何下载网页中的json文件jsonl文件下载可以看到有json文件,但这个作者并没有把json文件发出来,于是我灵机一动,想到之前详细了解过Google的控制台,这时候只要f12检查一下,找到network, 可以看到页面加载的各种文件,然后把想要下载的文件名在filter里输入,就能找到想要下载的文件啦, 然后双击文件就会自动下载了。jvzquC41dnuh0lxfp0tfv8vsa5;6;:9241gsvrhng1jfvjnnu1?38;>847
2.json文件下载防止chrome直接打开方案三、写到最后 chrome浏览器对与txt,json等文件直接打开,而不下载的问题,困扰了一天,查找很多帖子无果。也曾经尝试使用a标签href+download属性,iframe,window.open,window.location.href的方式,都会出现打开不下载的问题。对于jar,zip等浏览器不支持预览的文件,使用a标签href+download属性的方法还是不错的。秋天jvzquC41dnuh0lxfp0tfv8z2358299<31cxuklqg1fkucrqu1:6789966
3.详解如何使用SpringBoot实现下载JSON文件java在Spring Boot 中实现文件下载功能,可以通过将 JSON 字符串作为文件内容返回给客户端从而实现JSON文件下载效果,下面我们就来看看具体操作吧 + 目录 概述 在Spring Boot 中实现文件下载功能,可以通过将 JSON 字符串作为文件内容返回给客户端。以下是实现步骤和代码示例: jvzquC41yy}/lk:30pku1ywqitgn1<8787?irm3jvo
4.前端通过将json转成excel文件下载哓番茄前端通过将json转成excel文件下载 方法一: 将table标签,包括tr、td等对json数据进行拼接,将table输出到表格上实现,这种方法的弊端在于输出的是伪excel,虽说生成xls为后缀的文件,但文件形式上还是html,代码如下 functiontableToExcel(){//要导出的json数据varjsonData =[ { name:'路人甲', phone:'123456', emailjvzquC41yy}/ewgnqiy/exr1Vqnpnm4r1;<3:=>40jznn
5.javascriptjs获取和下载json文件个人文章业务场景 通过input以json格式上传配置,直接读取并加载。再将数据通过json格式下载在本地。 代码 {代码}jvzquC41ugmngwyhcwru0lto1c523B5222625>:238>
6.json库的下载与使用json下载可以通过查看下面路径检验json 库下载成功与否: ls/usr/include/jsoncpp/json/ 一键获取完整项目代码cpp 1 在下载好 json 库后,使用这个库时需要包含头文件:#include <jsoncpp/json/json.h> 由于json库是第三方库,在 g++ 编译阶段是需要告诉编译器编译时要找对应的 json库,对此编译时需要带上-ljsoncpp选项: jvzquC41dnuh0lxfp0tfv8|gkzooa><885;3:8ftvkimg8igvcomu8662;<33<6
7.请求传json格式的数据下载文件json文件下载在若依项目中,它自己封装好了 download 下载方法,但是因为设置了Content-Type 是 application/x-www-form-urlencoded ,因为浏览器限制,导致传值的时候,数据过大就会报错。 关键代码:src/utils/request.js 文件 // 传json的下载方法 exportfunctiondownloadByJson(url, pajvzquC41dnuh0lxfp0tfv8fnkmgnk8ftvkimg8igvcomu86668?99?8
8.axios下载json文件mob64ca12d70c79的技术博客在现代 web 开发中,使用axios库来处理 HTTP 请求是非常常见的,尤其是在处理 JSON 数据时。对于刚入行的小白来说,可能会对如何使用axios下载JSON文件感到迷惑。在这篇文章中,我们将详细介绍下载 JSON 文件的步骤,并提供具体的代码示例和注释。 1. 下载 JSON 文件的流程 jvzquC41dnuh0>6evq4dqv4wa3<33<8491739?56::
9.Python实现接口下载json文件并指定文件名称python在Web 开发中,提供文件下载功能是一种常见的需求,尤其是当涉及到导出数据为 JSON 格式时,为了确保文件名的自定义以及避免乱码问题,开发者需要采取一些特定的措施,本文介绍了Python实现接口下载json文件并指定文件名称,需要的朋友可以参考下+ 目录 文件下载与乱码问题 在Web 应用中,文件下载通常通过设置 HTTP 响应头中jvzquC41yy}/lk:30pku1y~vjqt05;>7::9:q7mvo
10.cJSONdownload|SourceForge.netDownload cJSON for free. An ultra-lightweight, portable, single-file, simple-as-can-be ANSI-C compliant JSON parser, under MIT license. Moved to https://github.com/DaveGamble/cJSONjvzquC41uq{senkqtik/pny1rtukglyu1eptqw4
11.crx下载地址解析crx下载地址解析 获取crx下载地址 结果(下载地址): crx文件转zip文件 转换 结果: 简介 crx文件是谷歌浏览器Chrome的插件文件,也就是Chrome的扩展程序,主要作用是增强Chrome浏览器的各种功能。crx文件以压缩的格式保存,其中可能包含.js、.json、图片和可执行程序等文件。 常见的插件有小游戏、广告拦截器、截图jvzquC41yy}/dnouqp4dqv4wk1isz8
12.Js后台json数据,前端生成下载text文件洪先森需要引入 借鉴 张鑫旭文章 http://www.zhangxinxu.com/wordpress/2017/07/js-text-string-download-as-html-json-file/jvzquC41yy}/ewgnqiy/exr1uogmn‚n1r1=68B5770nuou
13.gRPC学习之六:gRPCGateway集成swagger腾讯云开发者社区新建工程文件夹; 安装必要的go包; 编写proto文件,使swagger支持http(默认是https); 生成gRPC、gRPC-Gateway所需的go源码; 生成swagger所需的json文件; 下载swagger-ui的源码,以此生成go源码; 编写gRPC的服务端代码; 编写gRPC-Gateway服务端的代码; 验证; 注意,本文的所有操作都没有用到root账号,而是前文创建的gojvzquC41enuvf7ygpekov7hqo1jfxnqqrgx0c{ykenk03B>529?
14.[踩坑回顾]前端获取JSON并下载成文件ximu19转载自:https://blog.csdn.net/qq_38256117/article/details/131131029 将获取到的json数据,使用JSON.stringify转化为字符串,并以data:的形式传给a标签,通过触发a标签的点击事件,最终实现文件下载。 function dowjvzquC41yy}/ewgnqiy/exr1zksv395;1r52:;98297
15.为什么访问json接口出现文件下载云端观云为什么访问json接口出现文件下载 在IE9,10,11下,当服务器端返回数据格式为json,且明确设置Content-Type为”application/json;charset=utf-8“时,会提示文件下载。如图所示: 解决办法是修改Content-Type为”text/html;charset=utf-8“,然后在前端对数据做一次JSON编码再进行使用。jvzquC41yy}/ewgnqiy/exr1{wkhwjsiwctzww4r19>8;B>70jznn
16.excel2json软件下载Excel表格快速转换成JSON字符串的工具下载1.下载解压到文件夹,尽量不要有中文路径; 如图: 2.新建一个Excel文件,Excel表格后缀必须为xlsx。并且填入相关数据; 如图: 3.windows命令行打开,执行下面的命令: excel2json –excel F:\order-gy.xlsx –json F:\ex.json –header 1 –excel 后面跟随Excel文件路径;–json 后面跟随转换的json文件之后保存路径jvzquC41yy}/lk:30pku1|thvu569A5420nuou
17.vue实现各种文件文档下载及导出示例vue.jsconsole.log(jsonData) } else { // 下载文件 his.exportBillingExcel(ress); } 以上就是vue实现各种文档下载及导出示例的详细内容,更多关于vue文档下载导出的资料请关注脚本之家其它相关文章! 您可能感兴趣的文章: React和Vue实现文件下载进度条 Vue文件下载进度条的实现过程 vue下载文件以及文件重命名方式 vue中jvzquC41yy}/lk:30pku1sfxcuiskyy14;694:8vj0nuo
18.java的jsonapi下载文件java文件下载java的json api下载文件_java文件下载 本文介绍了Java中两种不同的文件下载方式:使用Spring的ResponseEntity和HttpServletResponse。详细展示了如何设置响应头、读取文件并输出到客户端,以及注意点,强调了不能使用AJAX进行文件下载操作。 在开发中遇到需要下载文件的需求,现在把文件下载整理一下。jvzquC41dnuh0lxfp0tfv8|gkzooa;>2:59858ftvkimg8igvcomu86364815;=