导致性能问题的IBM WebSphere CPU Reduction - Application&操作系统崩溃

时间:2018-06-11 04:19:48

标签: java crash cpu-usage websphere-portal

我在一个问题上协助开发团队。

  • IBM WebSphere上托管了一个Web应用程序。
  • 出于商业原因降低成本的目的,决定将应用服务器处理器使用次数从2减少到1。
  • 访问门户网站的用户数量没有任何变化,CPU峰值事件从每年约6次增加到每周至少1次。
  • 调查证实,CPU峰值和应用程序和/或操作系统崩溃的原因是因为在峰值点访问它的用户数量增加。

这显然是因为缺乏CPU资源。

我们需要通过实用的解决方案来解决这个问题。将CPU增加到2的请求已被拒绝,而是被要求提供技术修复。

采取的步骤:

  1. 添加了额外的RAM
  2. 堆内存增加
  3. 根据PMR建议更改了JVM设置
  4. 垃圾收集频率降低
  5. 完成性能微调
  6. 优化的源代码
  7. 即使经过上述步骤,当用户数增加到某个阈值以上时,CPU仍会出现峰值,应用程序服务器/操作系统崩溃。

    通过暂时增加到2个CPU进行短暂测试,并立即将CPU峰值和应用程序崩溃大幅降低到达到约定的可接受水平。

    如何解决这个问题?

    可以采取任何技术措施来解决它,以便CPU使用次数从2减少到1,但应用程序运行仍然没有尖峰或崩溃吗?

    我知道这个问题非常主观,需要查看应用程序源代码逻辑。假设代码已经尽可能微调,需要您的建议/建议如何去做。

    我会尽量提供尽可能多的额外信息。

    感谢。

    此致

1 个答案:

答案 0 :(得分:1)

你也可以按照高cpu mustgather在高cpu期间采取一些javacores并进行比较分析,看看哪些线程阻塞并咀嚼资源