我们有一个 Java ERP 类型的应用程序。服务器和客户端之间的通信是通过 RMI 进行的。在高峰时段,最多可以有 250 名用户登录,其中大约 20 人同时工作。这意味着在高峰时段的任何给定时间大约有 20 个线程处于活动状态。服务器可以运行几个小时而没有任何问题,但是突然之间响应时间变得越来越长。响应时间可以在几分钟内。
我们在带有 Sun 的 JDK 1.6.0_16 的 Windows 2008 R2 上运行。我们一直在使用 perfmon 和 Process Explorer 来查看发生了什么。我们唯一觉得奇怪的是,当服务器开始运行缓慢时,java.exe 进程打开的句柄数约为 3500。我并不是说这是实际问题。
我只是好奇是否有一些我应该遵循的指导方针以便能够查明问题。我应该使用什么工具?……