Jmeter 检索所有嵌入资源不是下载资源
我有一个非常简单的Jmeter测试计划,其中包含一个线程组,并由基本配置元素支持。 我的HTTP请求采样器只指向应用程序的主页,它提供了登录身份验证功能 没有什么可以分享的事实Jmeter 检索所有嵌入资源不是下载资源,jmeter,jmeter-plugins,jmeter-4.0,Jmeter,Jmeter Plugins,Jmeter 4.0,我有一个非常简单的Jmeter测试计划,其中包含一个线程组,并由基本配置元素支持。 我的HTTP请求采样器只指向应用程序的主页,它提供了登录身份验证功能 没有什么可以分享的事实 当我在chrome中访问页面并在chrome developer中查看加载时间时,通过并行下载嵌入式资源,同样的过程在5秒内完成 当我通过jmeter录制相同的内容并开始重新播放时,需要12秒 接下来,我禁用了所有非html资源,并标记了主页以下载嵌入式资源 当我启用复选框Download all embedded re
"Image Fetcher 0" Id=5734 TIMED_WAITING on java.util.Vector@567840bf
at java.lang.Object.wait(Native Method)
- waiting on java.util.Vector@567840bf
at sun.awt.image.ImageFetcher.nextImage(Unknown Source)
at sun.awt.image.ImageFetcher.fetchloop(Unknown Source)
at sun.awt.image.ImageFetcher.run(Unknown Source)
"ResDownload-Thread-5659" Id=5709 TIMED_WAITING on java.util.concurrent.SynchronousQueue$TransferStack@c26b878
at sun.misc.Unsafe.park(Native Method)
- waiting on java.util.concurrent.SynchronousQueue$TransferStack@c26b878
at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown Source)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source)
at java.util.concurrent.SynchronousQueue.poll(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
...
"ResDownload-Thread-5521" Id=5704 TIMED_WAITING on java.util.concurrent.SynchronousQueue$TransferStack@c26b878
at sun.misc.Unsafe.park(Native Method)
- waiting on java.util.concurrent.SynchronousQueue$TransferStack@c26b878
at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown Source)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source)
at java.util.concurrent.SynchronousQueue.poll(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
...
"ResDownload-Thread-5545" Id=5703 TIMED_WAITING on java.util.concurrent.SynchronousQueue$TransferStack@c26b878
at sun.misc.Unsafe.park(Native Method)
- waiting on java.util.concurrent.SynchronousQueue$TransferStack@c26b878
at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown Source)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source)
at java.util.concurrent.SynchronousQueue.poll(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
...
"ResDownload-Thread-5555" Id=5702 TIMED_WAITING on java.util.concurrent.SynchronousQueue$TransferStack@c26b878
at sun.misc.Unsafe.park(Native Method)
- waiting on java.util.concurrent.SynchronousQueue$TransferStack@c26b878
at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown Source)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source)
at java.util.concurrent.SynchronousQueue.poll(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
如果您在enterprise中进行测试,因此有一个enterprise proxy,那么您访问的网站可能需要一些规则来允许下载所有资源,因此您可能需要调整命令行选项:
- 连接超时
- 响应超时
我实现了第1步和第2步,但是Jmeter挂起时有100%的CPU和90%的内存。我只有三个选择,这是我的B计划。我已经上传了堆转储快照以进行进一步的故障排除。我执行了步骤3,它模拟了浏览器的时间。虽然它解决了我的问题,但下载所有嵌入式资源失败的原因仍然是一个谜。我用#3中提到的解决方案来解决这个问题