Night_望 2015-04-10 02:13 采纳率: 0%
浏览 2839

Spring mvc架构在并发情形下性能急剧下降的问题

在公司有一个基于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

  • 写回答

2条回答 默认 最新

  • Night_望 2015-04-13 01:05
    关注

    最后结果是:
    实际上在service里面还有注入的DAO, 而DAO里面包含有数据库连接操作, 由于设置的数据库连接池过小, 导致大量service卡在等待数据库连接上.
    修改数据库连接池后, 恢复正常

    评论

报告相同问题?

悬赏问题

  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了