Hystrix创建ums_hystrix子模块,压测感受高并发卡顿(jmeter) 作者:马育民 • 2021-07-03 10:47 • 阅读:10060 # 说明 本文演示:notice 无响应,将会导致 ums 无响应,感受 **服务雪崩** [![](https://www.malaoshi.top/upload/pic/springcloud/Snipaste_2022-03-10_13-49-59.png)](https://www.malaoshi.top/upload/pic/springcloud/Snipaste_2022-03-10_13-49-59.png) # 创建ums_hystrix子模块 根据 《新建ums工程(使用OpenFeign)》的 ums 工程,再创建 ums_hystrix 工程 > 不要动 ums 工程,万一搞坏了,没有备用方案 ### 创建 ums_hystrix 子模块 略 ### 修改 pom.xml 将 ums 工程的 pom.xml 中的依赖,复制粘贴到 ums_hystrix 子模块中 ``` org.springframework.cloud spring-cloud-starter-openfeign org.springframework.cloud spring-cloud-starter-netflix-eureka-client top.malaoshi common 1.0-SNAPSHOT org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-devtools runtime true org.projectlombok lombok true org.springframework.boot spring-boot-starter-test test ``` ### 复制 代码、配置文件 复制 ums java代码、配置文件 到 ums_hystrix中 ### 修改 application.yml 由于 本工程 通过 **openfeign** 调用 notice接口,而notice接口 **休眠3秒**,**openfeign** 会因为 **超时** 而报错(openfeign默认超时时间是1秒),所以需要增加超时配置,如下: ``` ribbon: ConnectTimeout: 3000 ReadTimeout: 4000 ``` openfeign 底层 使用 ribbon,所以使用 ribbon 配置 ### 修改 UmsMain 启动类 修改 该类为:`UmsHystrixMain` ### 测试启动 启动 `UmsHystrixMain` 服务 ### 测试访问 确保能够正常访问,访问下面接口: ``` http://localhost:8081/follow ``` 并携带form数据: ``` fromUserid=123 toUserid=456 msg=关注 ``` 该接口调用 notice工程 的接口,延时很小,能够快速返回响应 # jmeter 压力测试 按照 [Hystrix创建notice_hystrix子模块,压测感受高并发卡顿(jmeter)](https://www.malaoshi.top/show_1IX1QEGQX6n4.html "Hystrix创建notice_hystrix子模块,压测感受高并发卡顿(jmeter)") ,开启压力测试,模拟 其他服务 大并发量访问 notice工程的接口:http://localhost:8080/getNoticeById/195c6547e5044c759dc39caf317998c5 ,该接口由于休眠 3 秒,tomcat工作线程全部被占用,导致处理慢,甚至超时 ### 访问另一个接口 然后访问下面接口: ``` http://localhost:8081/follow ``` 并携带form数据: ``` fromUserid=123 toUserid=456 msg=关注 ``` 会发现 该接口 处理慢,甚至超时报错 ### 得出结论 1. **服务提供者** 由于 某个接口(如:`getNoticeById`) 访问量过大,处理不过来,tomcat工作线程全部被占用,将会 影响 所有接口(如:`sendNotice`接口) 2. 由于 **服务提供者** 的所有接口慢,将导致 **服务调用者** 的接口慢,甚至超时报错,即: **服务调用者** 的tomcat工作线程全部被占用,导致 所有接口处理慢,甚至超时,甚至让服务崩溃 原文出处:http://malaoshi.top/show_1IX1QerjSTxU.html