测试环境部署结构
测试用例
类 别 | 说明 |
请求报文 | 194字节({“systemId”:”PL”,”appVersion”:”qq.qq.qq”,”companyId”:”12″,”sourceIp”:”DESKTOP-NDOHT79″,”destIp”:”DESKTOP-NDOHT79″,”spiderOpts”:{},”companyName”:”机构1″,”createDate”:”20160101″,”companyType”:1}) |
响应报文 | 178字节({“lists”:[{“nodeId”:100001,”nodeName”:”机构100001″,”companyId”:”1200″,”createDate”:”20160101″},{“nodeId”:100001,”nodeName”:”机构100001″,”companyId”:”1200″,”createDate”:”20160101″}]})。 |
客户端用例 | @RequestMapping(value=”/1001.html”)
public @ResponseBody String t1001(Model model,HttpServletRequest request){ PlatformReq req = new PlatformReq().createDemo(); req.setCompanyId(“12”); req.setSystemId(“PL”); // 之所以每次HTTP请求调用5次spider请求,是因为一开始用单次跑,客户端很快就到cpu 100%,以至于spider NB一直压不到CPU 100%,故调整。 platformService.doQuery(req); platformService.doQuery(req); platformService.doQuery(req); platformService.doQuery(req); platformService.doQuery(req); return JsonUtils.toJson(platformService.doQuery(req)); } |
服务端用例 | @Service
public class PlatformServiceImpl implements PlatformService { public PlatformQuery doQuery(PlatformReq req) { //System.out.println(“收到spider请求: ” + req.toString()); PlatformQuery query = new PlatformQuery(); return query.createDemo(); } } |
并发数 | 200 |
测试结果
项目名称 | 结果 |
客户端运行次数 | 约1500万 |
Spider调用次数 | 约7500万 |
平均响应时间 | 90毫秒 |
客户端QPS | 2199次/秒 |
Spider NB/NP QPS | 约11000次/秒(2199*5=10995)(就NB服务器本身而言,因为用的是vmware且服务器配置低下,所以软中断所占CPU比较高) |
Spider客户端负载 | 95%~100% |
Spider NB负载 | 90%-95% |
Spider NP负载 | 60%左右 |
失败率 | <0.01% |