程序莫名其妙的阻塞,卡在那里不动了

flashroom 2008-06-13 11:18:37
系统使用 struts spring hibernate 开发
其中使用了 spring 的 OpenSessionInViewFilter

现在用户反映在系统使用一段时间以后就卡住了,所有人点系统都没有反应。

=====================================================================
日志停到这里不动了
[LOG]opening JDBC connection - org.hibernate.jdbc.ConnectionManager


原来以为是哪个方法有申请两个以上连接的情况,于是把连接池大小改为 1 ,所有功能点了个遍没出现问题。用LOADRUNNER录了段脚本,1个用户没事、2个用户没事。。。5个用户同时用只有1个连接的连接池的时候就会出现那种情况(系统突然卡住不动了。。。)

卡在哪了?想了半天也没想出个结果

大家帮我分析分析~




...全文
236 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
flashroom 2008-06-13
  • 打赏
  • 举报
回复
问题找到了

确实是 OpenSessionInView 的问题 ,改了以后 100个并发用只有1个连接的连接池没出问题。

看来这玩意儿还是不大稳定

initialize 吧,要不就 lazy=false

还是自己控制比较放心
flashroom 2008-06-13
  • 打赏
  • 举报
回复
肯定是连接没有被释放

但是为什么并发的时候才会出现这种问题呢?

硬着头皮看完一段LOG,发现有一个TOMCAT线程申请到连接以后运行一段时间以后莫名其妙的中止了。。。。。

代码没有问题啊。。。。单独访问这个功能的时候看LOG它也老老实实的把事务提交把连接返回,为什么一并发就会罢工?实在搞不懂了。。。

TRMeister 2008-06-13
  • 打赏
  • 举报
回复
连接池中的连接没有及时释放?每个jdbc连接的statement数量有限制?
duzhonghua 2008-06-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zidasine 的回复:]
引用 1 楼 workatjn 的回复:
楼主运气不错,至少找到了重现问题的方法。我也不是很懂,瞎猜一下,应当是有地方没释放链接,想办法跟踪链接的使用情况看看。

帮顶
[/Quote]

顶........
zidasine 2008-06-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 workatjn 的回复:]
楼主运气不错,至少找到了重现问题的方法。我也不是很懂,瞎猜一下,应当是有地方没释放链接,想办法跟踪链接的使用情况看看。
[/Quote]
帮顶
workatjn 2008-06-13
  • 打赏
  • 举报
回复
楼主运气不错,至少找到了重现问题的方法。我也不是很懂,瞎猜一下,应当是有地方没释放链接,想办法跟踪链接的使用情况看看。
电脑变慢de完全解决方案   一、软件篇   1、设定虚拟内存   硬盘中有一个很宠大的数据交换文件,它是系统预留给虚拟内存作暂存的地方,很多应用程序都经常会使用到,所以系统需要经常对主存储器作大量的数据存取,因此存取这个档案的速度便构成影响计算机快慢的非常重要因素!一般Windows预设的是由系统自行管理虚拟内存,它会因应不同程序所需而自动调校交换档的大小,但这样的变大缩小会给系统带来额外的负担,令系统运作变慢!有见及此,用户最好自定虚拟内存的最小值和最大值,避免经常变换大小。要设定虚拟内存,在“我的电脑”上按右键选择“属性”,在“高级”选项里的“效能”的对话框中,对“虚拟内存”进行设置。   3、检查应用软件或者驱动程序   有些程序在电脑系统启动会时使系统变慢。如果要是否是这方面的原因,我们可以从“安全模式”启动。因为这是原始启动,“安全模式”运行的要比正常运行时要慢。但是,如果你用“安全模式”启动发现电脑启动速度比正常启动时速度要快,那可能某个程序是导致系统启动速度变慢的原因。   4、桌面图标太多会惹祸   桌面上有太多图标也会降低系统启动速度。Windows每次启动并显示桌面时,都需要逐个查找桌面快捷方式的图标并加载它们,图标越多,所花费的时间当然就越多。同时有些杀毒软件提供了系统启动扫描功能,这将会耗费非常多的时间,其实如果你已经打开了杀毒软件的实时监视功能,那么启动时扫描系统就显得有些多余,还是将这项功能禁止吧!建议大家将不常用的桌面图标放到一个专门的文件夹中或者干脆删除!   5、ADSL导致的系统启动变慢   默认情况下WindowsXP在启动时会对网等网络设备进行自检,如果发现网的IP地址等未配置好就会对其进行设置,这可能是导致系统启动变慢的真正原因。这时我们可以打开“本地连接”属性菜单,双击“常规”项中的“Internet协议”打开“TCP/IP属性”菜单。将网的IP地址配置为一个在公网(默认的网关是192.168.1.1)中尚未使用的数值如192.168.1.X,X取介于2~255之间的值,子网掩码设置为255.255.255.0,默认网关和DNS可取默认设置。   6、字体对速度的影响   虽然微软声称Windows操作系统可以安装1000~1500种字体,但实际上当你安装的字体超过500种时,就会出现问题,比如:字体从应用程序的字体列表中消失以及Windows的启动速度大幅下降。在此建议最好将用不到或者不常用的字体删除,为避免删除后发生意外,可先进行必要的备份。   7、删除随机启动程序   何谓随机启动程序呢?随机启动程序就是在开机时加载的程序。随机启动程序不但拖慢开机时的速度,而且更快地消耗计算机资源以及内存,一般来说,如果想删除随机启动程序,可去“启动”清单中删除,但如果想详细些,例如是QQ、popkiller之类的软件,是不能在“启动”清单中删除的,要去“附属应用程序”,然后去“系统工具”,再去“系统信息”,进去后,按上方工具列的“工具”,再按“系统组态编辑程序”,进去后,在“启动”的对话框中,就会详细列出在启动电脑时加载的随机启动程序了!XP系统你也可以在“运行”是输入Msconfig调用“系统配置实用程序”才终止系统随机启动程序,2000系统需要从XP中复制msconfig程序。   8、取消背景和关闭activedesktop   不知大家有否留意到,我们平时一直摆放在桌面上漂亮的背景,其实是很浪费计算机资源的!不但如此,而且还拖慢计算机在执行应用程序时的速度!本想美化桌面,但又拖慢计算机的速度,这样我们就需要不在使用背景了,方法是:在桌面上按鼠标右键,再按内容,然后在“背景”的对话框中,选“无”,在“外观”的对话框中,在桌面预设的青绿色,改为黑色......至于关闭activedesktop,即是叫你关闭从桌面上的web画面,例如在桌面上按鼠标右键,再按内容,然后在“背景”的对话框中,有一幅背景,名为WindowsXX,那副就是web画面了!所以如何系统配置不高就不要开启。   10、把Windows变得更苗条   与DOS系统相比,Windows过于庞大,而且随着你每天的操作,安装新软件、加载运行库、添加新游戏等等使得它变得更加庞大,而更为重要的是变大的不仅仅是它的目录,还有它的注册表和运行库。因为即使删除了某个程序,可是它使用的DLL文件仍然会存在,因而随着使用日久,Windows的启动和退出时需要加载的DLL动态链接库文件越来越大,自然系统运行速度也就越来越慢了。这时我们就需要使用一些彻底删除DLL的程序,它们可以使Windows恢复苗条的身材。建议极品玩家们最好每隔两个月就重新安装一遍Windows,这很有效。   11、更改系统开

81,087

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧