blade create servlet
介绍
Servlet 是 Java 的 web 的接口规范,Java web 服务器都遵循此规范实现。本场景主要模拟 Java Web 请求延迟、异常场景。
[blade create servlet delay](blade create servlet delay.md) 请求延迟
[blade create servlet throwCustomException](blade create servlet throwCustomException.md) 请求异常
参数
servlet 通用参数
--effect-count string 影响的请求条数
--effect-percent string 影响的请求百分比
--method string HTTP 请求类型, 例如: GET, POST, or PUT.
--pathinfo string 已废弃
--pid string java进程号
--process string java进程名
--querystring string 请求参数,例如http://localhost:8080/dubbodemo/async?name=friend&timeout=2000 中 querystring的值是 name=friend&timeout=2000
--requestpath string 请求 URI,不包含 Context 部分,例如 http://localhost:8080/dubbodemo/async?name=friend&timeout=2000,则 requestpath 的值是 /async,注意要带 /
--servletpath string 已废弃
实验原理
常见问题
Q: 下发规则不生效
A: 在命令后添加 --debug,然后触发业务请求,查看应用进程用户目录下 logs/chaosblade/chaosblade.log 日志,如下:
2019-12-09 21:15:12 DEBUG servlet matchers: {"matchers":{"querystring":"name=bobo","servletpath":"/servlet/path","method":"GET","requestpath":"/servlet/path"}}
2019-12-09 21:15:12 INFO Match rule: {"action":{"name":"delay"},"actionName":"delay","matcher":{"matchers":{}},"target":"servlet"}
servlet matchers 日志表示获取应用的匹配数据,Match rule 表示和下发的命令匹配
Last updated
Was this helpful?