代码

pom. 文件引入包

<dependency><groupId>com.taobao.stresstester</groupId><artifactId>stresstester</artifactId><version>1.0</version></dependency>

编写测试代码

/*** @ : PressTest* @De ion: 压力测试,测试一下获取用户信息的方法的qps* @param 参数* @return void 返回类型* @throws*/@Testpublic void PressTest(){int concurrencyLevel =100;//并发数int totalRequest = 1000;//总请求数StressResult result = StressTestUtils.test(concurrencyLevel, totalRequest, new StressTask() {@Overridepublic   doTask() throws Exception {getUserDetail();return “”;}});System.out.println(StressTestUtils.format(result));}

测试结果

image

上图测试结果很明显有问题,做长的请求3秒多,这是不能接受的,通过分析,定位到连接池设置过小,数据库连接过小,并发过大,导致请求阻塞等待资源中,优化方式:加大连接池线程数,加大数据库连接数

原文发布时间为:2018-07-17
本文作者:HARRIES
本文来自云栖社区合作伙伴“Java杂记”,了解相关信息可以关注“Java杂记

收藏 打印