51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5712|回复: 1
打印 上一主题 下一主题

jmeter改进后使用中的问题与解决

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-10-31 22:25:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
by jack
前一阵子针对jmeter的监控做了扩展,增加了linux监控功能。投入实际使用后,有同学反馈回来了问题。
如:
jmeter.monitor.parser.ParserImpl: Failed to parse the bytes org.xml.sax.SAXParseException: XML document structures must start and end within the same entity.
         at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
         at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
         at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
         at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
         at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
         at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source)
         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.endEntity(Unknown Source)
         at org.apache.xerces.impl.XMLDocumentScannerImpl.endEntity(Unknown Source)
         at org.apache.xerces.impl.XMLEntityManager.endEntity(Unknown Source)
         at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source)
         at org.apache.xerces.impl.XMLEntityScanner.scanContent(Unknown Source)
         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanContent(Unknown Source)
         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
         at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
         at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
         at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
         at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
         at org.apache.jmeter.monitor.parser.ParserImpl.parseBytes(ParserImpl.java:75)
         at org.apache.jmeter.monitor.model.ObjectFactory.parseBytes(ObjectFactory.java:51)
         at org.apache.jmeter.visualizers.MonitorAccumModel.addSample(MonitorAccumModel.java:155)
         at org.apache.jmeter.visualizers.MonitorHealthVisualizer.add(MonitorHealthVisualizer.java:84)
         at org.apache.jmeter.reporters.ResultCollector.sendToVisualizer(ResultCollector.java:445)
         at org.apache.jmeter.reporters.ResultCollector.sampleOccurred(ResultCollector.java:425)
         at org.apache.jmeter.threads.ListenerNotifier.notifyListeners(ListenerNotifier.java:239)
         at org.apache.jmeter.threads.JMeterThread.notifyListeners(JMeterThread.java:570)
         at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:303)
         at java.lang.Thread.run(Unknown Source)

2008/09/28 20:24:12 ERROR - jmeter.threads.ListenerNotifier: Detected problem in Listener:  java.lang.NullPointerException
         at org.apache.jmeter.monitor.util.Stats.calculateLoad(Stats.java:191)
         at org.apache.jmeter.visualizers.MonitorAccumModel.addSample(MonitorAccumModel.java:157)
         at org.apache.jmeter.visualizers.MonitorHealthVisualizer.add(MonitorHealthVisualizer.java:84)
         at org.apache.jmeter.reporters.ResultCollector.sendToVisualizer(ResultCollector.java:445)
         at org.apache.jmeter.reporters.ResultCollector.sampleOccurred(ResultCollector.java:425)
         at org.apache.jmeter.threads.ListenerNotifier.notifyListeners(ListenerNotifier.java:239)
         at org.apache.jmeter.threads.JMeterThread.notifyListeners(JMeterThread.java:570)
         at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:303)

经过跟踪发现,由于监控器的linux端监控进程是通过生成xml提供给jmeter解析用,而当运行时间较长之后会出现xml生成变慢,刷新时恰好xml不完整,导致解析失败。
解决方法:在没有改进linux端监控进程前,最好在不用监控的时候停止linux端监控进程,需要用的时候再启动起来。
又如:开着gui执行包含较多监控器(linux监控器,其它图线等)的脚本,一段时间之后抛出错误:
jmeter.threads.JMeterThread: Test failed! java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source)
at java.lang.StringCoding.safeTrim(Unknown Source)

该问题是由于绘图消耗了大量静态资源,导致堆溢出了。
解决方法:可以用non-gui方式执行,避免绘图的资源消耗。

[ 本帖最后由 qaarchitech 于 2008-11-1 13:23 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    慵懒
    2017-12-8 16:59
  • 签到天数: 16 天

    连续签到: 1 天

    [LV.4]测试营长

    2#
    发表于 2016-12-23 17:49:25 | 只看该作者
    windows上也出现这个问题了,请问哈怎么解决
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-26 06:21 , Processed in 0.070287 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表