3

我有一个高吞吐量服务器,在 Amazon EC2(弗吉尼亚)上运行 spring IOC(2.5.6)。在过去的几天里,我没有对代码进行任何更改(仅更改了一些配置),但突然我开始看到 spring 的疯狂锁定问题。应用程序似乎花费了 60%-80% 的时间来尝试获取 bean(不同的 bean,来自代码的不同区域),并且线程转储显示大多数线程都以以下方式卡住:

Thread 15148: (state = BLOCKED)
 - org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory() @bci=6, line=151 (Compiled frame)
 - org.springframework.context.support.AbstractApplicationContext.getBean(java.lang.String) @bci=1, line=880 (Compiled frame)

我们的应用程序是 IO 密集型的,所以我希望看到大部分时间都花在数据库连接和 HTTP 客户端访问上。我不确定我可以在此处提供哪些附加信息。

有人见过这种东西吗?

4

0 回答 0