首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Websphere 7线程转储分析

Websphere 7线程转储分析
EN

Stack Overflow用户
提问于 2014-03-14 09:40:56
回答 1查看 2.2K关注 0票数 2

我们使用的是WAS7,我们的ear被部署在这上面。

环境详细信息

操作系统:AIX7.1

处理器体系结构: ppc64

处理器数:8

Java版本:JRE1.6.0 AIX ppc64-64构建jvmap6460sr10fp1-20120202_101568 (01 6460sr10fp1-20120321_01(SR10 FP1))

虚拟机版本: VM构建20120202_101568即时(JIT)编译器开关,提前编译(AOT)编译器开关,编译器版本( r9_20111107_21307ifx1 )

垃圾收集器版本: GC - 20120202_AA_CMPRSS

Java堆信息

最大Java堆大小: 1024m

初始Java堆大小:512米

我尝试使用、IBM和Monitor转储分析器工具来分析堆转储。

下面的是线程的摘要

但是我不能分析,这个静力学是好还是需要改进?

由于有那么多线程始终处于停车/等待状态(每天使用线程集10次),有时应用程序需要花费4秒来处理5条消息,这些消息应该是每秒5条消息。

应用程序运行良好,并实现了每秒5条消息的SLA,但是说一天中有几次处理5条消息需要4秒。

注:并发处理。

如果当时我试图获得线程转储,就像我在上面分享的一样。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-14 10:30:19

除非您有明确的理由认为线程争用是原因,否则我不认为线程转储是开始调查“一天几次处理5条消息需要4秒时间”的最佳位置。造成这个问题的原因可能很多很多,其中线程争用只是其中之一。

首先,我要指出这些信息。据推测,消息的速度被记录在某个地方,如果不是,我将从这个开始。web服务器访问日志能够帮助识别这些消息吗?

一旦你有了它们,这些信息有什么特别之处吗?如果你自己访问这些消息,你能复制缓慢吗?它们是否总是在同一时间/它们是否试图访问相同的实体或执行相同的操作?消息是由同一个用户发送的吗?

如果是可复制的话,你的工作就完成了一半。现在,您可以开始使用分析工具来确定为什么要花这么长时间。

即使慢消息不能被复制,并且你不能识别信息的任何显著特征,至少你现在知道它发生的时间,并且可以更精确地钻研。

一旦你有了时间,你就可以在那个时候开始研究不同的原因。一份不累人的清单将包括:

  • 当时有垃圾收集吗?
  • 当时其他进程在应用服务器上运行吗?
  • 如果它访问一个数据库,那么它当时是否处于加载状态?
  • 当时日志中是否有任何错误消息?
  • 当时有线程争用吗?
  • 当时是否有任何运行缓慢的数据库查询(例如,如果您使用Oracle,Oracle AWR可能会给您提供这种查询)?
  • 当时有很多用户在使用这个网站吗?

识别这些问题需要他们自己的权利,但是Stackoverflow应该有很多答案。关于线程-争用-是在问题发生时进行的线程分析。就我个人而言,我想要一个线程转储从那一刻起,试着看看哪些线程被其他线程阻塞。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22401217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档