JMeter(活动?)FTP 到 VLTrader

2024-02-12

情况: 我正在使用 JMeter 来加载测试我的通信应用程序 (Cleo VLTrader)。我是 JMeter 的新手,并且能够使 HTTP 通信工作,但不能使 FTP 工作。当我尝试使用 JMeter FTP 请求采样器时,我可以在服务器端看到 JMeter 正在发出“PASV”命令,但不久后由于“502 PASV 命令不可用”错误而失败。

问题: 我需要如何配置 JMeter FTP 请求采样器才能连接到我的 FTP 服务器?


1.对此感到抱歉,但只是为了确保:您是否确保 FTP 连接手动成功,即不是通过 jmeter 脚本中的 FTP 请求,而是通过控制台/telnet 连接或任何 FTP 客户端实用程序?


2.FTP 被动模式

可能的原因:
由于您的 FTP 请求在 PASV 命令执行期间失败,可以假设根本原因是您的 ftp 服务器不支持被动模式,而 jmeter 的 FTP 请求默认使用被动模式。

为了确保从控制台连接到 ftp 后尝试切换到被动模式, 例如

telnet your.ftp.server.url 21
USER yourusername
PASS yourpassword
PASV

or

ftp -d your.ftp.server.url
USER yourusername
PASS yourpassword
passive

或使用任何可以选择连接模式(主动/被动)的 ftp 客户端实用程序。

如果在此过程中出现同样的问题 - 好吧,问题是您的 ftp 服务器不支持 FTP 请求使用的被动模式。

参见例如this http://www.onkarjoshi.com/blog/128/understand-ftp-passive-pasv-and-active-modes/解释两种模式的差异。


可能的解决方案:
As per jmeter源 http://svn.apache.org/repos/asf/jmeter/trunk/src/protocol/ftp/org/apache/jmeter/protocol/ftp/sampler/FTPSampler.java:

ftp.enterLocalPassiveMode();

默认情况下使用切换到被动模式,并且无法在外部设置模式FTP 请求配置屏幕 http://jmeter.apache.org/usermanual/component_reference.html#FTP_Request.

但您可以自己实现 ftp 请求,避免使用 FTP 请求。
您可以使用FTP客户端 https://commons.apache.org/net/api-3.1/org/apache/commons/net/ftp/FTPClient.html实现自阿帕奇共享网 https://commons.apache.org/net/并编写 ftp 连接脚本BeanShell 采样器 http://jmeter.apache.org/usermanual/component_reference.html#BeanShell_Sampler.

非常简化,这可能看起来像:

import org.apache.commons.net.ftp.*;

FTPClient client = new FTPClient();
client.setDataTimeout(3600000);
client.connect(ftpHost,ftpPort);
client.login(userName, userName);
client.setFileType(FTPClient.BINARY_FILE_TYPE);

...

// FTPClient uses 'active mode' by default
if (ftp_passive_mode) {
    client.enterLocalPassiveMode();
} else {
    client.enterLocalActiveMode();
}

...

client.logout();
client.disconnect();

也许我也错了,你的问题的原因隐藏在另一个地方。
希望这将帮助您诊断并解决您的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JMeter(活动?)FTP 到 VLTrader 的相关文章

随机推荐

  • 如何设置 Job DSL 创建的多分支作业的发现模式

    我是詹金斯的新手 我正在尝试解决一些问题 有没有办法通过 Groovy 添加分支源行为 这是使用 Jenkins 分析 SonarQube 中的 GitHub 项目 I m creating a multi branch pipeline
  • elasticsearch 是非确定性的吗?

    由于elasticsearch计算分数的算法 每次执行查询时是否不会以相同的顺序返回相同的结果 或者是别的什么 有没有办法让每次执行查询时结果都以相同的顺序返回 这是正常的吗 这可能与 elasticsearch 默认在本地计算相关性分数的
  • 如何使 DockPanel 中的项目扩展以适应 WPF 中的所有可用空间?

    我有一个StackPanel含有一个StackPanel和其他一些物品 首先StackPanel具有垂直方向 内部具有水平方向 里面有一个TreeView and a ListView 我希望它们能够扩展并适应窗口的宽度 这是我通过窗口设置
  • 使用 TimeTCPClient 从公共时间服务器获取时间

    我尝试使用以下代码从公共时间服务器获取时间 package aaa import java util Arrays import java util List import org apache commons net TimeTCPCli
  • list.files 的性能问题

    我正在尝试使用以下命令从 3 个网络驱动器检索文件list files这需要永远 当我使用时find在 shell 中 它会在不到 15 秒的时间内返回所有结果 system time jnk lt list files c Volumes
  • Expo 安全存储在玩笑测试中不可用

    这个问题具体是关于expo secure store and jest 目前 我在登录时使用 expo secure store 来存储我的 JWT 它在模拟器上运行时工作正常 但是在 Jest 测试中根本不起作用 令牌返回为undefin
  • C# 通用复制构造函数

    我有一个接口和两个实现该接口的类 这些类具有泛型类型 我想从一个类的实例克隆到另一个类的实例 interface IFoo stuff class Foo
  • Intellij IDEA 11:如何从 .less 编译 .css?

    如何在 intellij 中从 less 编译 css 当然这应该很容易 但它让我难住了 有人知道怎么做吗 我写了一个当 LESS 文件发生变化时 它会自动将它们编译为 CSS 您可以配置多个 LESS 目录来监视每个项目 每个目录的输出将
  • 如何将 _locale 参数添加到安全路径?

    我设置了安全设置来保护根路径下的所有内容 除了查看隐私政策的公共页面外 privacy 一切正常 security yml access control path privacy role IS AUTHENTICATED ANONYMOU
  • 设置 PEP 代理

    我一直在研究 PEP Proxy Steelskin 以便我可以为我的 Orion Context 提供一些安全层 但是 有一些问题阻碍了我的进展 我想使用 IDM 和 Keystone 全局实例 我已按照相应的指示成功安装了 pepPro
  • PHP GD imagecreatefromjpeg 无法处理大尺寸图像?

    我的项目是当我自动上传图像时我的程序将创建拇指大小 如果图片大小约为 1024x768 我的程序可以正常工作 但是当我上传大小为 1576x2379 的图片时 显示如下错误 允许的内存大小 8388608 字节已耗尽 尝试分配 1576 字
  • SwiftUI 导航到 NavigationView 堆栈的底部

    我进行了以下设置 其中父视图包含NavigationView它显示一系列页面 A B 和 C 在页面 C 上有一个隐藏导航视图的按钮 我想要它 以便当再次显示导航视图时 它会自动导航到页面 A 但是我不确定如何使用 SwiftUI 执行此操
  • d3.js:具有多个 y 轴值的数据集数组

    我是 d3 js 的初学者 所以请友善 考虑这个 jsbin 示例 http jsbin com edatol 1 edit 我有以下数据集 var dataset d3 time hour utc offset now 5 1 10 d3
  • 如何将多个文件复制到docker数据卷中

    这听起来可能微不足道 但我找不到一种简单的方法将多个文件复制到 Docker 卷的根文件夹中 我正在使用Ubuntu仙尼尔 16 04 and 泊坞窗1 12 1 例如 如果我有一个带有卷的 Ubuntu 容器 my data docker
  • 使用 Supervisord 运行 PostgreSQL

    我想在 Ubuntu 10 04 上使用 Supervisor 运行 PostgreSQL 9 1 目前 我使用 init 脚本手动启动 PostgreSQL etc init d postgresql start 根据这篇文章 http
  • 类型错误:push() 不是一个函数

    我正在尝试将一个项目推送到数组 但它不起作用 当我运行代码时 我收到此错误 未捕获的类型错误 data allItems type push 不是函数 var data allItems exp inc totals exp 0 inc 0
  • 如何在后台运行 Solr Jetty

    我正在使用 Solr 附带的 Jetty Solr 构建 并且希望在后台而不是在终端中运行它 现在我开始它java jar start jar但我希望它记录到一个文件并在服务器的后台运行 以便我可以关闭终端窗口 我确信有一些我找不到的 ja
  • 使用PyInstaller将.py和.txt文件封装成.exe文件

    我有 2 个文件想要放入 exe 文件中 其中一个文件是 py 另一个是 txt我找不到如何获取多个文件并将其转换为可执行文件 请帮忙 您应该将 txt 文件放在一个文件夹中 然后将文件夹的名称放在 标签中 pyinstaller onef
  • 使用 Javascript 访问 CSS 自定义变量

    我在 css 文件中有以下样式 galleryImages position absolute top 24px left 41px width 900px moving false 当我尝试通过 Javascript 访问它时 它返回未定
  • JMeter(活动?)FTP 到 VLTrader

    情况 我正在使用 JMeter 来加载测试我的通信应用程序 Cleo VLTrader 我是 JMeter 的新手 并且能够使 HTTP 通信工作 但不能使 FTP 工作 当我尝试使用 JMeter FTP 请求采样器时 我可以在服务器端看