我们有一个企业级Java应用程序(很少有ejb和一个webapp)部署到weblogic 10并使用Sun java 5.响应时间,CPU和内存使用情况在少数负载用户下很好但是如果我们增加并发如果用户超过100,我们会在一段时间后看到巨大的CPU峰值(例如: - 对100个用户进行负载测试,CPU在超过30分钟的测试后变为高电平)。我们想使用hprof来分析应用程序并收集统计数据,但是只有在CPU很高时才想这样做,即在测试3分钟之后,有没有办法做到这一点?
我不能使用jmap,因为我们使用的是Sun java 5.
答案 0 :(得分:1)
CPU中出现大量尖峰可能表明GC正在运行。如果是这样,这将不会显示在分析器中。您可以使用-verbosegc运行以查看GC何时运行。 (或使用jconsole)
答案 1 :(得分:0)
这本身就是特定于JVM的。因此,您需要指定您使用的JVM(Sun / BEA / IBM等)。
在计算出来时,请考虑将webcontainer中的会话超时设置为60秒,然后重新运行测试。
答案 2 :(得分:0)
如果不出意外,您可以尝试的几个选项是:
我很欣赏后者不是每个人的一杯茶,但它最终会让你做你想做的事。