压测场景配置完成后,您可以通过调试场景验证配置是否合理,避免压测失败。本文介绍如何调试PTS和JMeter场景。
前提条件
已创建PTS或JMeter场景。具体操作,请参见创建PTS场景或创建JMeter场景。
操作步骤
登录PTS控制台,选择 。
在目标场景的操作列下单击编辑,进入编辑场景页面。然后单击调试场景,进行全场景调试。
在调试过程中可以单击右上角的图标来最小化窗口,在右下角以悬浮窗口随时关注调试状态。再次单击悬浮窗口,可切换回场景调试对话框。
在调试结果中可以查看所有链路的请求日志。单击某个API,可以查看该API的调试详情。
若您只需对单个API进行调试,您还可以在场景配置页面,单击单个API右侧的调试API,查看单个API的调试结果。
重要暂不支持对VPC内网的单个API进行调试,针对VPC内网的调试您可以选择单击调试场景进行全场景调试。
PTS场景调试界面说明
PTS场景调试界面如下:
断言判断
叉图标表示异常。选中该API后,即可在右侧查看响应详情。
响应状态
可能显示一个状态码(200、302、403、503、500等)或异常字样。若显示异常,则表示未收到Response,可能是因为请求超时,或因为请求的URL(含Body)有错误,例如函数无法识别、URL不规范等。
说明每条调试的API均可查看到请求与响应详情。针对上述异常现象,可以从以下方面排查:
若响应状态为异常,请在右侧响应详情标签页的Error信息区域查看异常信息。例如上图中的异常原因为非法参数(系统函数使用不合法)。
若响应状态为除200以外的状态码,请查看具体返回信息,并结合服务器上的日志进行常规排查。
若断言出现异常,请在右侧响应详情页签的检查点信息区域查看断言信息。若当前值为空,则表示未获取到出参值。
Error 信息
可显示异常响应详情,例如超时、参数错误、连接拒绝等。
Timing为请求在核心的生命周期内的耗时详情。
调试中的异常信息可结合Timing瀑布模型查看,各种报错都可以体现在Timing瀑布模型中。
例如场景配置开启了302跳转,您需要查看压测是否跳转以及跳转的具体路径,可以结合Timing瀑布流查看。
出参表达式测试入口
当您需要基于请求的响应详情提取特定字符串时(一般是文本类型的响应体),可在调试窗口中测试正则表达式是否正确,可按需重新设置出参。
说明由于Application/JSON和TEXT/JSON两种类型的JSON格式解析比较简单,暂不提供相关功能。
在场景调试对话框的右侧,选中某条API,单击点此去测试出参正则表达式。
在测试出参正则对话框,选择来源格式,填写正则表达式,指定为第几个匹配项。单击测试表达式。通过响应详情匹配结果,预判提取的内容是否符合预期。
若需重新设置出参,则单击同步出参配置,将此正则表达式同步到该API的出参列表中。
说明场景调试结束后,如有同步的出参,需返回压测场景配置页签,在对应的API出参定义页签下,设置出参名。
Jmeter场景调试界面说明
JMeter场景调试界面如下:
单击Sampler,即可在采样日志区域查看请求和响应的详情以及Timing瀑布流。
采样日志:
General页签中展示了请求URL、请求方法以及请求状态码。
请求详情页签中展示了请求Headers和Body值以及请求的原始报文。
响应详情页签中展示了响应Headers和Body值以及响应的原始报文。
Timing页签中展示了各接口的耗时信息。
引擎日志区域展示了JMeter的运行日志。如果脚本调试后没有采样日志输出,您可以根据引擎日志中的报错信息进一步分析并处理问题。常见报错及原因,请参见常见报错。