在公司有一个基于spring-mvc框架的web项目, 在100个用户同时访问的情况下响应时间超过10秒.
经过排查, 发现在Controller中调用所有注入的service方法, 均需要超过2秒的时间.
后来干脆把service里的代码先注释掉, 在Controller中调用空的service方法, 依然需要超过2秒.
service都是多实例的, 设置了singleton="false"
目前没有头绪...特来向大家求助, 感激不尽!
例如:
测时间用的如下方式
long beginVerify = System.currentTimeMillis();
int status = userService.verifySSOUser();
long costVerify = System.currentTimeMillis() - beginVerify;
System.out.println("verifySSOUser()用时: "+costVerify+"ms");
verifySSOUser()内部代码全部注释掉了, 只留有return 1;
最后输出时显示:
10个并发情况下, 用时小于10ms
100个并发情况下, 用时接近3s
200个并发情况下, 用时接近10s