云服务器内容精选

  • HammerDB性能测试 HammerDB是一款开源的图形化据库负载测试和基准测试工具,可以测试任意操作系统上运行的多种数据库系统,目前有Windows和Linux版本。HammerDB支持自动化、多线程和可扩展的动态脚本。您可以使用HammerDB创建一个测试schema,加载数据,并针对OLTP(online transaction processing ,联机事务处理)和OLAP(online analytical processing,在线分析处理)场景模拟多个虚拟用户对数据库的工作负载。 本文使用的HammerDB版本为3.3,HammerDB最新下载。 开启SDRS容灾服务。 安装并运行HammerDB性能测试工具,详细步骤可参考,https://support.huaweicloud.com/pwp-rds/rds_02_0002.html。 选择SQL Server/TORPC-C,单击OK 修改Schema Build参数,输入主机名,ODBC Driver,warehouses数和Schema数,单击OK 双击Build,点击Yes 等待SCHEMA的创建,时长根据warehouses数和Schema数决定,耐心等待 完成后点击停止 点击Driver Script,确认参数,点击OK 双击Load 点击Virtual User设置虚拟用户数,去勾选show output,这里选择虚拟用户数为20,点击OK 双击RUN 点击start transactions 等待出现TPM峰值 停止SDRS容灾服务。 再次运行HammerDB性能测试。 运行HammerDB测试,直到出现稳定TPM峰值。 TPM:每分钟内系统处理的TPCC标准模型下模拟订单的个数。 结论:通过比较SDRS开启前后测试的TPM值可以得出,在开启SDRS容灾服务时,SQL Server数据库的性能影响相比下降3.39%左右。 父主题: SDRS性能测试
  • 测试结果 以下测试结果仅供参考,不同局点环境和网络波动等客观条件可能产生性能差异。 QPS:即Query Per Second,表示每秒处理的读写操作数,单位是次/秒。 平均/最大时延:操作的平均/最大延迟时间,单位为毫秒(ms)。 x%延迟:指x%操作的延迟时间,单位为毫秒(ms)。例如该指标的值为10ms,99.99%延迟表示99.99%的请求可以在10ms内被处理。 表1 SET操作命令测试结果 实例规格 实例CPU类型 并发连接数(个) QPS 99.99%延迟(ms) 第一个100%延迟(ms) 最后一个100%延迟(ms) 32G X86 1000 371780.2‬ 5.6 6.3 44 10000 256073.11 90 220 460 32G ARM 1000 317053.78 17 34 230 10000 248832.33 410 490 750 表2 GET操作命令测试结果 实例规格 实例CPU类型 并发连接数(个) QPS 99.99%延迟(ms) 第一个100%延迟(ms) 最后一个100%延迟(ms) 32G X86 1000 427000.04 5.0 5.3 78 10000 302159.03‬ 63 220 460 32G ARM 1000 421402.06 13 14 65 10000 309359.18 180 260 500
  • 静态benchmark验证 本章节介绍如何进行静态benchmark验证。 已经上传benchmark验证脚本到推理容器中。如果在步骤四 制作推理镜像步骤中已经上传过AscendCloud-LLM-x.x.x.zip并解压,无需重复执行。 进入benchmark_tools目录下,运行静态benchmark验证。 cd benchmark_tools 语言模型脚本相对路径是tools/llm_evaluation/benchmark_tools/benchmark_parallel.py,具体操作命令如下,可以根据参数说明修改参数。 python benchmark_parallel.py --backend openai --host ${docker_ip} --port ${port} --tokenizer /path/to/tokenizer --epochs 5 --num-scheduler-steps 8 \ --parallel-num 1 4 8 16 32 --prompt-tokens 1024 2048 --output-tokens 128 256 --benchmark-csv benchmark_parallel.csv 参数说明 --backend:服务类型,支持tgi、vllm、mindspore、openai等后端。本文档使用的推理接口是openai。 --host:服务部署的IP,${docker_ip}替换为宿主机实 际的IP地址。 --port:推理服务端口。 --tokenizer:tokenizer路径,HuggingFace的权重路径。 --epochs:测试轮数,默认取值为5。 --parallel-num:每轮并发数,支持多个,如 1 4 8 16 32。 --prompt-tokens:输入长度,支持多个,如 128 128 2048 2048,数量需和--output-tokens的数量对应。 --output-tokens:输出长度,支持多个,如 128 2048 128 2048,数量需和--prompt-tokens的数量对应。 --benchmark-csv:结果保存文件,如benchmark_parallel.csv。 --num-scheduler-steps: 需和服务启动时配置的num-scheduler-steps一致。默认为1。 --served-model-name: 选择性添加,在接口中使用的模型名;如果没有配置,则默认为tokenizer。 --enable-prefix-caching:服务端是否启用enable-prefix-caching特性,默认为false。 脚本运行完成后,测试结果保存在benchmark_parallel.csv中,示例如下图所示。 图1 静态benchmark测试结果(示意图)
  • 单条请求性能测试 针对openai的/v1/completions以及/v1/chat/completions两个非流式接口,请求体中可以添加可选参数"return_latency",默认为false,若指定该参数为true,则会在相应请求的返回体中返回字段"latency",返回内容如下: prefill_latency(首token时延):请求从到达服务开始到生成首token的耗时 model_prefill_latency(模型计算首token时延):服务从开始计算首token到生成首token的耗时 avg_decode_latency(平均增量token时延):服务计算增量token的平均耗时 time_in_queue(请求排队时间):请求从到达服务开始到开始被调度的耗时 request_latency(请求总时延):请求从到达服务开始到结束的耗时 以上指标单位均是ms,保留2位小数。
  • benchmark方法介绍 性能benchmark包括两部分。 静态性能测试:评估在固定输入、固定输出和固定并发下,模型的吞吐与首token延迟。该方式实现简单,能比较清楚的看出模型的性能和输入输出长度、以及并发的关系。 动态性能测试:评估在请求并发在一定范围内波动,且输入输出长度也在一定范围内变化时,模型的延迟和吞吐。该场景能模拟实际业务下动态的发送不同长度请求,能评估推理框架在实际业务中能支持的并发数。 性能benchmark验证使用到的脚本存放在代码包AscendCloud-LLM-xxx.zip的llm_tools/llm_evaluation目录下。 代码目录如下: benchmark_tools |--- modal_benchmark |--- modal_benchmark_parallel.py # modal 评测静态性能脚本 |--- utils.py ├── benchmark_parallel.py # 评测静态性能脚本 ├── benchmark_serving.py # 评测动态性能脚本 ├── generate_dataset.py # 生成自定义数据集的脚本 ├── benchmark_utils.py # 工具函数集 ├── benchmark.py # 执行静态、动态性能评测脚本 ├── requirements.txt # 第三方依赖
  • 动态benchmark 本章节介绍如何进行动态benchmark验证。 获取数据集。动态benchmark需要使用数据集进行测试,可以使用公开数据集,例如Alpaca、ShareGPT。也可以根据业务实际情况,使用generate_datasets.py脚本生成和业务数据分布接近的数据集。 方法一:使用公开数据集 ShareGPT下载地址: https://huggingface.co/datasets/anon8231489123/ShareGPT_Vicuna_unfiltered/resolve/main/ShareGPT_V3_unfiltered_cleaned_split.json Alpaca下载地址: https://github.com/tatsu-lab/stanford_alpaca/blob/main/alpaca_data.json 方法二:使用generate_dataset.py脚本生成数据集方法: 客户通过业务数据,在generate_dataset.py脚本,指定输入输出长度的均值和标准差,生成一定数量的正态分布的数据。具体操作命令如下,可以根据参数说明修改参数。 cd benchmark_tools python generate_dataset.py --dataset custom_datasets.json --tokenizer /path/to/tokenizer \ --min-input 100 --max-input 3600 --avg-input 1800 --std-input 500 \ --min-output 40 --max-output 256 --avg-output 160 --std-output 30 --num-requests 1000 generate_dataset.py脚本执行参数说明如下: --dataset:数据集保存路径,如custom_datasets.json。 --tokenizer:tokenizer路径,可以是HuggingFace的权重路径。backend取值是openai时,tokenizer路径需要和推理服务启动时--model路径保持一致,比如--model /data/nfs/model/llama_7b, --tokenizer也需要为/data/nfs/model/llama_7b,两者要完全一致。 --min-input:输入tokens最小长度,可以根据实际需求设置。 --max-input:输入tokens最大长度,可以根据实际需求设置。 --avg-input:输入tokens长度平均值,可以根据实际需求设置。 --std-input:输入tokens长度方差,可以根据实际需求设置。 --min-output:最小输出tokens长度,可以根据实际需求设置。 --max-output:最大输出tokens长度,可以根据实际需求设置。 --avg-output:输出tokens长度平均值,可以根据实际需求设置。 --std-output:输出tokens长度标准差,可以根据实际需求设置。 --num-requests:输出数据集的数量,可以根据实际需求设置。 进入benchmark_tools目录下,切换一个conda环境。 cd benchmark_tools conda activate python-3.9.10 执行脚本benchmark_serving.py测试动态benchmark。具体操作命令如下,可以根据参数说明修改参数。 python benchmark_serving.py --backend vllm --host ${docker_ip} --port 8080 --dataset custom_datasets.json --dataset-type custom \ --tokenizer /path/to/tokenizer --request-rate 0.01 1 2 4 8 10 20 --num-prompts 10 1000 1000 1000 1000 1000 1000 \ --max-tokens 4096 --max-prompt-tokens 3768 --benchmark-csv benchmark_serving.csv --backend:服务类型,如tgi,vllm,mindspore、openai。 --host ${docker_ip}:服务部署的IP地址,${docker_ip}替换为宿主机实际的IP地址。 --port:推理服务端口。 --dataset:数据集路径。 --dataset-type:支持三种 "alpaca","sharegpt","custom"。custom为自定义数据集。 --tokenizer:tokenizer路径,可以是HuggingFace的权重路径,backend取值是openai时,tokenizer路径需要和推理服务启动时--model路径保持一致,比如--model /data/nfs/model/llama_7b, --tokenizer也需要为/data/nfs/model/llama_7b,两者要完全一致。 --request-rate:请求频率,支持多个,如 0.1 1 2。实际测试时,会根据request-rate为均值的指数分布来发送请求以模拟真实业务场景。 --num-prompts:某个频率下请求数,支持多个,如 10 100 100,数量需和--request-rate的数量对应。 --max-tokens:输入+输出限制的最大长度,模型启动参数--max-input-length值需要大于该值。 --max-prompt-tokens:输入限制的最大长度,推理时最大输入tokens数量,模型启动参数--max-total-tokens值需要大于该值,tokenizer建议带tokenizer.json的FastTokenizer。 --benchmark-csv:结果保存路径,如benchmark_serving.csv。 --served-model-name: 选择性添加, 选择性添加,在接口中使用的模型名;如果没有配置,则默认为tokenizer。 --num-scheduler-steps: 需和服务启动时配置的num-scheduler-steps一致。默认为1。 脚本运行完后,测试结果保存在benchmark_serving.csv中,示例如下图所示。 图2 动态benchmark测试结果(示意图)
  • TPC-H测试结果 DWS测试了使用存算一体和存算分离两种部署架构下,TPC-H 1T规模数据集的开箱查询性能,共22个查询。存算一体查询总耗时为234.23s,存算分离查询总耗时为261.19s。 详细性能数据见下表。 表1 TPC-H测试结果 版本 8.3.0 9.1.0 - 存算一体 存算一体 存算分离 Q1 16.97 6.58 8.29 Q2 1.44 1.51 1.76 Q3 13.02 10.13 10.51 Q4 65.56 18.59 17.65 Q5 21.90 14.55 15.64 Q6 0.84 0.52 0.68 Q7 11.08 11.92 13.59 Q8 87.18 16.49 17.22 Q9 55.98 29.42 41.29 Q10 12.20 9.67 10.35 Q11 3.57 3.22 3.94 Q12 5.92 8.73 9.96 Q13 14.28 11.62 12.15 Q14 1.87 1.66 1.83 Q15 2.24 1.23 1.45 Q16 4.52 3.75 4.09 Q17 10.54 7.38 8.45 Q18 47.97 31.27 30.74 Q19 110.03 8.13 8.74 Q20 10.07 6.23 7.18 Q21 28.82 27.93 31.83 Q22 7.04 3.70 3.83 总时长(s) 533.05 234.23 261.19 父主题: TPC-H性能测试
  • TPC-DS测试结果 本测试主要包括使用存算一体和存算分离两种部署架构下,TPC-H 1T规模数据集的开箱查询性能,共99个查询。存算一体查询总耗时为971.45s,存算分离查询总耗时为1035.80s。详细结果见下表。 表1 TPC-DS测试结果 TPC-DS查询 8.3.0 9.1.0 - 存算一体(s) 存算一体(s) 存算分离(s) Q1 2.03 1.21 0.59 Q2 9.14 4.00 5.10 Q3 1.52 1.40 1.96 Q4 200.44 173.61 181.80 Q5 3.11 2.26 3.48 Q6 0.39 0.29 0.43 Q7 1.85 1.74 2.23 Q8 0.72 0.42 0.58 Q9 11.14 15.36 17.16 Q10 1.08 1.07 1.05 Q11 92.20 62.56 66.79 Q12 0.20 0.13 0.22 Q13 2.50 2.86 3.63 Q14 74.98 23.45 24.90 Q15 2.11 0.56 0.45 Q16 6.51 3.28 4.28 Q17 2.93 3.74 5.29 Q18 2.16 1.16 2.06 Q19 0.70 0.69 0.84 Q20 0.18 0.10 0.17 Q21 0.18 0.27 0.17 Q22 5.84 2.00 14.78 Q23 144.71 44.33 48.74 Q24 8.55 4.76 6.74 Q25 3.10 3.34 4.17 Q26 0.63 0.53 0.62 Q27 2.03 1.79 2.77 Q28 13.32 13.20 14.74 Q29 2.50 2.96 3.61 Q30 0.73 0.38 0.44 Q31 3.73 2.85 3.08 Q32 0.18 0.91 0.20 Q33 1.28 1.06 1.22 Q34 2.13 2.51 3.27 Q35 3.00 1.89 2.30 Q36 6.21 1.67 17.93 Q37 0.34 0.39 0.51 Q38 52.24 37.43 37.78 Q39 5.57 3.51 3.11 Q40 0.66 0.13 0.24 Q41 0.04 0.03 0.09 Q42 0.70 0.73 0.60 Q43 1.99 1.35 1.79 Q44 3.25 3.66 4.27 Q45 0.82 0.56 0.79 Q46 4.63 4.44 4.62 Q47 6.91 4.83 6.22 Q48 2.37 2.45 3.55 Q49 3.01 3.13 4.64 Q50 5.82 6.70 5.09 Q51 10.67 5.07 5.25 Q52 0.70 0.72 0.68 Q53 0.88 0.86 1.05 Q54 3.96 3.20 4.21 Q55 0.66 0.53 0.59 Q56 0.84 0.76 0.94 Q57 3.12 2.26 2.09 Q58 0.76 0.49 0.69 Q59 17.30 8.75 10.42 Q60 1.75 1.31 1.46 Q61 1.10 1.03 1.45 Q62 1.29 0.83 1.07 Q63 0.86 0.84 1.05 Q64 14.20 11.57 16.54 Q65 6.92 4.09 4.84 Q66 1.50 1.16 1.35 Q67 153.90 131.56 196.11 Q68 3.65 3.13 3.66 Q69 0.93 0.69 0.82 Q70 23.13 3.07 32.01 Q71 2.33 2.34 2.60 Q72 3.69 4.24 3.81 Q73 1.40 1.72 2.32 Q74 37.27 24.38 27.55 Q75 11.85 5.99 7.91 Q76 3.37 3.21 3.65 Q77 1.30 1.07 1.56 Q78 152.21 97.02 42.98 Q79 4.49 4.25 5.15 Q80 3.56 2.35 3.93 Q81 0.64 0.33 0.42 Q82 0.75 0.70 1.31 Q83 0.15 0.09 0.26 Q84 0.24 0.26 0.42 Q85 2.78 1.81 2.16 Q86 2.59 0.35 3.07 Q87 78.17 123.22 56.21 Q88 6.90 9.40 11.20 Q89 2.61 1.85 1.92 Q90 0.64 0.60 1.13 Q91 0.15 0.12 0.26 Q92 0.20 0.26 0.24 Q93 7.53 7.44 5.84 Q94 3.49 1.93 2.72 Q95 29.57 31.04 28.55 Q96 1.49 1.96 2.66 Q97 8.49 5.31 5.81 Q98 1.09 0.85 0.93 Q99 2.37 1.76 1.82 SUM 1321.757 971.45 1035.80 父主题: TPC-DS性能测试
  • SSB测试结果 经过针对SSB宽表场景对DWS和开源OLAP产品ClickHouse的对比测试发现: 使用hstore_opt表,配合turbo存储、turbo引擎, DWS查询性能整体优于开源产品ClickHouse 1.3倍。 固定query_dop=16调优后,DWS查询性能全面超越ClickHouse,是该产品的3.73倍。 表1 SSB测试结果 SSB DWS ClickHouse - 开箱性能 query_dop=16 - Q1.1 0.0670 0.05 0.059 Q1.2 0.0264 0.022 0.021 Q1.3 0.0836 0.057 0.022 Q2.1 0.2309 0.041 0.254 Q2.2 0.3015 0.163 0.281 Q2.3 0.2398 0.05 0.214 Q3.1 0.3182 0.074 0.434 Q3.2 0.1823 0.042 0.348 Q3.3 0.1759 0.081 0.299 Q3.4 0.0239 0.014 0.025 Q4.1 0.2951 0.103 0.456 Q4.2 0.0942 0.037 0.171 Q4.3 0.0645 0.02 0.146 总时长(s) 2.1032 0.754 2.73 父主题: SSB性能测试
  • Token认证 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 使用Token前请确保Token离过期有足够的时间,防止调用API的过程中Token过期导致调用API失败。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "id": "xxxxxxxx" } } } } 获取Token 后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 GET https://iam.xxx.com/v3/auth/tokens Content-Type: application/json X-Auth-Token: ABCDEFJ.... 您还可以通过这个视频教程了解如何使用Token认证:https://bbs.huaweicloud.com/videos/101333。
  • 请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。如果请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,********为用户登录密码,xxxxxxxx为project的ID,获取方法请参见获取项目ID。 POST https://iam.xxx.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "id": "xxxxxxxx" } } } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 GET:请求服务器返回指定资源。 PUT:请求服务器更新指定资源。 POST:请求服务器新增资源或执行特殊操作。 DELETE:请求服务器删除指定资源,如删除对象等。 HEAD:请求服务器资源头部。 PATCH:请求服务器更新资源的部分内容。当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https://iam.xxx.com/v3/auth/tokens
  • 请求URI 请求URI由如下部分组成。 {URI-scheme} :// {Endpoint} / {resource-path} ? {query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 URI-scheme:表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint:指定承载REST服务端点的服务器 域名 或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点获取。例如 IAM 服务在“华北-北京一”区域的Endpoint为“iam.cn-north-1.myhuaweicloud.com”。 resource-path:资源路径,也即API访问路径。从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 query-string:查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过10条数据。
  • 状态码 状态码如表1所示 表1 状态码 状态码 编码 错误码说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。 例如,切换到HTTP的新版本协议。 201 Created 创建类的请求完全成功。 202 Accepted 已经接受请求,但未处理完成。 203 Non-Authoritative Information 非授权信息,请求成功。 204 NoContent 请求完全成功,同时HTTP响应不包含响应体。 在响应OPTIONS方法的HTTP请求时返回此状态码。 205 Reset Content 重置内容,服务器处理成功。 206 Partial Content 服务器成功处理了部分GET请求。 300 Multiple Choices 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择。 301 Moved Permanently 永久移动,请求的资源已被永久的移动到新的URI,返回信息会包括新的URI。 302 Found 资源被临时移动。 303 See Other 查看其他地址。 使用GET和POST请求查看。 304 Not Modified 所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。 305 Use Proxy 所请求的资源必须通过代理访问。 306 Unused 已经被废弃的HTTP状态码。 400 BadRequest 非法请求。 建议直接修改该请求,不要重试该请求。 401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 402 Payment Required 保留请求。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 404 NotFound 所请求的资源不存在。 建议直接修改该请求,不要重试该请求。 405 MethodNotAllowed 请求中带有该资源不支持的方法。 建议直接修改该请求,不要重试该请求。 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求。 407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。 408 Request Time-out 服务器等候请求时发生超时。 客户端可以随时再次提交该请求而无需进行任何更改。 409 Conflict 服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 410 Gone 客户端请求的资源已经不存在。 返回该状态码,表明请求的资源已被永久删除。 411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息。 412 Precondition Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。 414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理。 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式。 416 Requested range not satisfiable 客户端请求的范围无效。 417 Expectation Failed 服务器无法满足Expect的请求头信息。 422 UnprocessableEntity 请求格式正确,但是由于含有语义错误,无法响应。 429 TooManyRequests 表明请求超出了客户端访问频率的限制或者服务端接收到多于它能处理的请求。建议客户端读取相应的Retry-After首部,然后等待该首部指出的时间后再重试。 500 InternalServerError 表明服务端能被请求访问到,但是不能理解用户的请求。 501 Not Implemented 服务器不支持请求的功能,无法完成请求。 502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。 503 ServiceUnavailable 被请求的服务无效。 建议直接修改该请求,不要重试该请求。 504 ServerTimeout 请求在给定的时间内无法完成。客户端仅在为请求指定超时(Timeout)参数时会得到该响应。 505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理。 父主题: 附录
  • 权限说明 如果您需要对您所拥有的性能测试服务进行精细的权限管理,您可以使用 统一身份认证 服务(Identity and Access Management,简称IAM),如果华为云账号已经能满足您的要求,不需要创建独立的IAM用户,您可以跳过本章节,不影响您使用性能测试服务的其他功能。 默认情况下,新建的IAM用户没有任何权限,您需要将其加入用户组,并给用户组授予策略或角色,才能使用户组中的用户获得相应的权限,这一过程称为授权。授权后,用户就可以基于已有权限对云服务进行操作。 权限根据授权的精细程度,分为角色和策略。 角色以服务为粒度,是IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。 策略以API接口为粒度进行权限拆分,授权更加精细,可以精确到某个操作、资源和条件,能够满足企业对权限最小化的安全管控要求。如果您要允许或是禁止某个接口的操作权限,请使用策略。 账号具备所有接口的调用权限,如果使用账号下的IAM用户发起API请求时,该IAM用户必须具备调用该接口所需的权限,否则,API请求将调用失败。每个接口所需要的权限,与各个接口所对应的授权项相对应,只有发起请求的用户被授予授权项所对应的策略,该用户才能成功调用该接口。