本周早些时候,我们的一台服务器上出现了 Websphere OutOfMemory 异常,现在我的问题是,如果 IHS 能够维持的并发客户端数量受到限制,是否可以防止这种情况发生。根本问题是由数据库锁引起的,但是当它被清除时,WebSphere 内存不足。
我只是想知道我们是否应该限制 IHS 中的并发客户端连接数以防止发生此错误?
任何帮助或建议将不胜感激。
本周早些时候,我们的一台服务器上出现了 Websphere OutOfMemory 异常,现在我的问题是,如果 IHS 能够维持的并发客户端数量受到限制,是否可以防止这种情况发生。根本问题是由数据库锁引起的,但是当它被清除时,WebSphere 内存不足。
我只是想知道我们是否应该限制 IHS 中的并发客户端连接数以防止发生此错误?
任何帮助或建议将不胜感激。
限制并发会话的数量不会解决问题,但可以解决它。
如果 WebSphere 内存不足,您应该做的第一件事是获取堆转储,分析它并找出为什么您的应用程序会消耗整个堆。我可能遗漏了一些东西,但是由于数据库锁而消耗整个堆的应用程序意味着一个错误。
在以下情况下,限制并发会话的数量只是一个有效的解决方案(而不是解决方法):
X
的 RAM 量(即:X
是会话占用的最大 RAM 量,假设应用程序按设计工作),并且您的堆大小限制为Y
. 在这种情况下,将并发会话数限制为Y/X
. 这是一个有效的解决方案(而不是一种变通方法),因为实际上,您的架构并非旨在承受更多会话。