有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

前言

云压测(PTS)的错误码主要有两种:
PTS 发请求包时产生的自定义错误码。
PTS 透传的 HTTP、gRPC 等协议的错误码。
错误码只代表大致的错误类型;若要定位具体错误原因,请务必参考错误的详细信息。

PTS 自定义错误码

PTS 自定义的错误码,是用来进一步细分脚本可能导致的错误,例如:设置的 HTTP 超时时间不合理(默认10秒)、域名不存在等,方便您排查问题。
错误码
英文描述
错误码含义
999
unkown
未知的错误信息
1010
context deadline
context 会话超时。压测结束后,有 3 秒的 graceful stop 时间;
在 graceful stop 阶段仍没有处理完成的请求,将会被记录为 context deadline 错误
1100
具体的 DNS 错误信息
默认 DNS 错误异常
1101
lookup: no such host
DNS 域名寻址异常
1200
具体的 TCP 错误信息
默认 TCP 错误异常
1201
具体的 TCP op error 错误信息
TCP 连接 network 类型错误
1202
connection reset by peer
TCP 服务端连接关闭,发生在数据读取、写入时
1203
broken pipe
TCP 服务端连接关闭,发生在数据写入场景
1210
具体的 dial 错误信息
默认 dial 连接异常
1211
unknown errno on with message
unknown errno
1212
dial: i/o timeout
连接超时
1301
request canceled
请求超时
2000
具体错误信息
pts/sql 数据库产生的错误信息
2001
具体错误信息
pts/check 失败条件下的错误信息

HTTP 协议常见错误码

状态码
状态码英文名称
中文描述
100
Continue
继续。客户端应继续其请求
101
Switching Protocols
切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议
200
OK
请求成功。一般用于GET与POST请求
201
Created
已创建。成功请求并创建了新的资源
202
Accepted
已接受。已经接受请求,但未处理完成
203
Non-Authoritative Information
非授权信息。请求成功。但返回的meta信息不在原始的服务器,而是一个副本
204
No Content
无内容。服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档
205
Reset Content
重置内容。服务器处理成功,用户终端(例如:浏览器)应重置文档视图。可通过此返回码清除浏览器的表单域
206
Partial Content
部分内容。服务器成功处理了部分GET请求
300
Multiple Choices
多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择
301
Moved Permanently
永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替
302
Found
临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI
303
See Other
查看其它地址。与301类似。使用GET和POST请求查看
304
Not Modified
未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源
305
Use Proxy
使用代理。所请求的资源必须通过代理访问
306
Unused
已经被废弃的HTTP状态码
307
Temporary Redirect
临时重定向。与302类似。使用GET请求重定向
400
Bad Request
客户端请求的语法错误,服务器无法理解
401
Unauthorized
请求要求用户的身份认证
402
Payment Required
保留,将来使用
403
Forbidden
服务器理解请求客户端的请求,但是拒绝执行此请求
404
Not Found
服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面
405
Method Not Allowed
客户端请求中的方法被禁止
406
Not Acceptable
服务器无法根据客户端请求的内容特性完成请求
407
Proxy Authentication Required
请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权
408
Request Time-out
服务器等待客户端发送的请求时间过长,超时
409
Conflict
服务器完成客户端的 PUT 请求时可能返回此代码,服务器处理请求时发生了冲突
410
Gone
客户端请求的资源已经不存在。410不同于404,如果资源以前有现在被永久删除了可使用410代码,网站设计人员可通过301代码指定资源的新位置
411
Length Required
服务器无法处理客户端发送的不带Content-Length的请求信息
412
Precondition Failed
客户端请求信息的先决条件错误
413
Request Entity Too Large
由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息
414
Request-URI Too Large
请求的 URL 过长( URL 通常为网址),服务器无法处理
415
Unsupported Media Type
服务器无法处理请求附带的媒体格式
416
Requested range not satisfiable
客户端请求的范围无效
417
Expectation Failed
服务器无法满足 Expect 的请求头信息
500
Internal Server Error
服务器内部错误,无法完成请求
501
Not Implemented
服务器不支持请求的功能,无法完成请求
502
Bad Gateway
作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应
503
Service Unavailable
由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中
504
Gateway Time-out
充当网关或代理的服务器,未及时从远端服务器获取请求
505
HTTP Version not supported
服务器不支持请求的 HTTP 协议的版本,无法完成处理

gRPC 协议常见错误码

英文描述
状态码
说明
OK
0
不是错误;成功后返回。
CANCELLED
1
该操作通常被调用方取消。
UNKNOWN
2
未知错误。例如,当从另一个地址空间接收的Status值属于此地址空间中未知的错误空间时,可能会返回此错误。此外,API引发的错误如果没有返回足够的错误信息,则可能会转换为此错误。
INVALID_ARGUMENT
3
客户端指定的参数无效。请注意,这与FAILED_PRECONDITION不同。INVALID_ARGUMENT表示无论系统状态如何都有问题的参数(例如,格式错误的文件名)。
DEADLINE_EXCEEDED
4
在操作完成之前,截止日期已过期。对于更改系统状态的操作,即使操作已成功完成,也可能返回此错误。例如,来自服务器的成功响应可能会延迟很长时间。
NOT_FOUND
5
找不到某些请求的实体(例如,文件或目录)。服务器开发人员注意:如果对整个用户类别的请求被拒绝,例如逐步推出功能或未记录的allowlist,则可以使用NOT_FOUND。如果某类用户中的某些用户的请求被拒绝,例如基于用户的访问控制,则必须使用PERMISSION_denied。
ALREADY_EXISTS
6
客户端试图创建的实体(例如,文件或目录)已存在。
PERMISSION_DENIED
7
调用者没有执行指定操作的权限。permission_DENIED 不能用于因耗尽某些资源而导致的拒绝(对于这些错误,请使用resource_EXHAUSTED)。如果无法识别调用者,则不得使用 PERMISTION_DENIED (对于这些错误,请使用UNAUTHENTICATED)。此错误代码并不意味着请求有效,或者请求的实体存在或满足其他先决条件。
RESOURCE_EXHAUSTED
8
某些资源已用尽,可能是每个用户的配额,也可能是整个文件系统空间不足。
FAILED_PRECONDITION
9
操作被拒绝,因为系统未处于执行操作所需的状态。例如,要删除的目录是非空的,rmdir操作应用于非目录等。服务实现者可以使用以下准则来决定FAILED_PRECONDITION、ABORTED和UNAVAILABLE:(a)如果客户端可以重试失败的调用,请使用UNAVAIALLE。(b) 如果客户端应在更高级别重试(例如,当客户端指定的测试和设置失败时,表示客户端应重新启动读-修改-写序列),请使用ABORTED。(c) 如果在显式修复系统状态之前客户端不应重试,请使用FAILED_PRECONDITION。E、 例如,如果“rmdir”因目录非空而失败,则应返回FAILED_PRECONDITION,因为除非从目录中删除文件,否则客户端不应重试。
ABORTED
10
操作被中止,通常是由于并发问题,如序列器检查失败或事务中止。请参阅上面的指导原则,以确定FAILED_PRECONDITION、ABORTED和UNAVAILABLE。
OUT_OF_RANGE
11
尝试的操作超出了有效范围。E、 例如,查找或读取文件末尾。与INVALID_ARGUMENT不同,此错误表示一个问题,如果系统状态发生变化,则可以修复该问题。例如,如果要求32位文件系统以不在[0,2^32-1]范围内的偏移量进行读取,则会生成INVALID_ARGUMENT,但如果要求以超过当前文件大小的偏移量读取,则将生成OUT_OF_range。FAILED_PRECONDITION 和 OUT_of_RANGE 之间有一点重叠。我们建议在应用时使用OUT_OF_RANGE(更具体的错误),以便在空间中迭代的调用者可以很容易地查找OUT_OF-RANGE错误,以便在完成时进行检测。
UNIMPLEMENTED
12
此服务未实现或不支持/启用该操作。
INTERNAL
13
内部错误。这意味着底层系统预期的一些不变量已被打破。此错误代码是为严重错误保留的。
UNAVAILABLE
14
该服务当前不可用。这很可能是一种瞬态情况,可以通过回退重试来纠正。请注意,重试非幂等操作并不总是安全的。
DATA_LOSS
15
无法恢复的数据丢失或损坏。
UNAUTHENTICATED
16
请求没有该操作的有效身份验证凭据。