- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 jmeter 加载测试我的 sftp get 功能。我有一个在 Linux 机器上运行的 sftp 服务器,而 jmeter 作为在另一台 Linux 服务器上运行的 sftp 客户端。下面是我正在运行的脚本
使用的脚本是:
<?xml version="1.0" encoding="UTF-8"?>
<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.1.1 r1855137">
<hashTree>
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
<stringProp name="TestPlan.comments"></stringProp>
<boolProp name="TestPlan.functional_mode">false</boolProp>
<boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp>
<boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
<elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="TestPlan.user_define_classpath"></stringProp>
</TestPlan>
<hashTree>
<kg.apc.jmeter.threads.UltimateThreadGroup guiclass="kg.apc.jmeter.threads.UltimateThreadGroupGui" testclass="kg.apc.jmeter.threads.UltimateThreadGroup" testname="jp@gc - Ultimate Thread Group" enabled="true">
<collectionProp name="ultimatethreadgroupdata">
<collectionProp name="361476282">
<stringProp name="53">5</stringProp>
<stringProp name="48">0</stringProp>
<stringProp name="1572">15</stringProp>
<stringProp name="50547">300</stringProp>
<stringProp name="0"></stringProp>
</collectionProp>
<collectionProp name="639507566">
<stringProp name="1567">10</stringProp>
<stringProp name="1567">10</stringProp>
<stringProp name="1629">30</stringProp>
<stringProp name="49865">290</stringProp>
<stringProp name="0"></stringProp>
</collectionProp>
<collectionProp name="1641281649">
<stringProp name="1572">15</stringProp>
<stringProp name="1598">20</stringProp>
<stringProp name="1665">45</stringProp>
<stringProp name="49834">280</stringProp>
<stringProp name="0"></stringProp>
</collectionProp>
<collectionProp name="545617707">
<stringProp name="1598">20</stringProp>
<stringProp name="1629">30</stringProp>
<stringProp name="1722">60</stringProp>
<stringProp name="49803">270</stringProp>
<stringProp name="0"></stringProp>
</collectionProp>
<collectionProp name="-1955907446">
<stringProp name="1603">25</stringProp>
<stringProp name="1660">40</stringProp>
<stringProp name="1758">75</stringProp>
<stringProp name="49772">260</stringProp>
<stringProp name="0"></stringProp>
</collectionProp>
</collectionProp>
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
<boolProp name="LoopController.continue_forever">false</boolProp>
<intProp name="LoopController.loops">-1</intProp>
</elementProp>
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
</kg.apc.jmeter.threads.UltimateThreadGroup>
<hashTree>
<JSR223Sampler guiclass="TestBeanGUI" testclass="JSR223Sampler" testname="JSR223 Sampler" enabled="true">
<stringProp name="scriptLanguage">groovy</stringProp>
<stringProp name="parameters"></stringProp>
<stringProp name="filename"></stringProp>
<stringProp name="cacheKey">true</stringProp>
<stringProp name="script">vars.put("userName","user2");
vars.put("hostIP","hostip");
vars.put("fileToGet", "test_exact20m.txt");
vars.put("fileToName", "test_exact20m");</stringProp>
</JSR223Sampler>
<hashTree/>
<JSR223Sampler guiclass="TestBeanGUI" testclass="JSR223Sampler" testname="JSR223 Sampler" enabled="true">
<stringProp name="cacheKey">true</stringProp>
<stringProp name="filename"></stringProp>
<stringProp name="parameters"></stringProp>
<stringProp name="script">import com.jcraft.jsch.*;
import java.io.*;
class Monitor implements SftpProgressMonitor {
org.apache.jmeter.samplers.SampleResult sampleResult
public Monitor(org.apache.jmeter.samplers.SampleResult sampleResult) {
this.sampleResult = sampleResult
}
@Override
void init(int i, String s, String s1, long l) {
}
@Override
boolean count(long l) {
sampleResult.setBytes(sampleResult.getBytes() + l)
return true
}
@Override
void end() {
}
}
def jsch = new JSch()
def session = jsch.getSession(vars.get("userName"), vars.get("hostIP"), 4000)
session.setConfig("StrictHostKeyChecking", "no")
session.setPassword("user1")
def sftpSession = session.connect()
def channel = session.openChannel("sftp")
channel.connect();
def channelSftp = (ChannelSftp)channel;
log.info("SFTP Connection with host is acquired" + channelSftp)
def fileName = vars.get("fileToName") + Math.random();
channelSftp.get("/XYZ/" + vars.get("fileToGet"), "/ABC/" + fileName + ".txt", new Monitor(SampleResult));
log.info("FileName " +fileName)
session.disconnect()</stringProp>
<stringProp name="scriptLanguage">groovy</stringProp>
</JSR223Sampler>
<hashTree/>
<ResultCollector guiclass="SimpleDataWriter" testclass="ResultCollector" testname="Simple Data Writer" enabled="true">
<boolProp name="ResultCollector.error_logging">false</boolProp>
<objProp>
<name>saveConfig</name>
<value class="SampleSaveConfiguration">
<time>true</time>
<latency>true</latency>
<timestamp>true</timestamp>
<success>true</success>
<label>true</label>
<code>true</code>
<message>true</message>
<threadName>true</threadName>
<dataType>true</dataType>
<encoding>false</encoding>
<assertions>true</assertions>
<subresults>true</subresults>
<responseData>true</responseData>
<samplerData>true</samplerData>
<xml>false</xml>
<fieldNames>true</fieldNames>
<responseHeaders>false</responseHeaders>
<requestHeaders>false</requestHeaders>
<responseDataOnError>false</responseDataOnError>
<saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
<assertionsResultsToSave>2</assertionsResultsToSave>
<bytes>true</bytes>
<sentBytes>true</sentBytes>
<url>true</url>
<threadCounts>true</threadCounts>
<idleTime>true</idleTime>
<connectTime>true</connectTime>
</value>
</objProp>
<stringProp name="filename">/DownloadMultiPart_20m_2gbHeap_75Thread_350BBPool.csv</stringProp>
</ResultCollector>
<hashTree/>
</hashTree>
</hashTree>
</hashTree>
</jmeterTestPlan>
jmx 脚本还包括终极线程组。使用以下命令在 Linux 上运行上述脚本后
nohup sh jmeter.sh -n -t DownloadMultiPart_20m_2gbHeap_75Thread_350BBPool.jmx -l DownloadMultiPart_20m_2gbHeap_75Thread_350BBPool.jtl -e -o /html &
nohup文件的结果显示summary = 2664,html Dashboard报告显示Samples = 2664,但是/ABC文件夹中下载的文件是1332,jmeter.log文件显示打印日志“SFTP Connection with host is acquire”的次数是1332,打印日志“FileName”的次数是1332。1332 下载的文件大小和内容正确。我不确定为什么仪表板和 nohup 文件显示 2664 数字。
经过多次测试,我刚刚意识到结果是实际下载文件的两倍。
我的 sftp 服务器端也没有错误。
我缺少什么吗?
最佳答案
您有 2 个 JSR223 采样器,其中一个用于设置变量,另一个负责实际工作。
您可能想使用User Defined Variables相反,因为您的第一个 JSR223 Sampler 由每个虚拟用户在每次迭代中执行,而仅设置变量一次就足够了。
如果您想保留当前的测试计划结构(即为了历史结果兼容性),您可以添加 SampleResult.setIgnore()
行到第一个 JSR223 Sampler,它将被排除在指标之外
关于java - jmeter sftp get函数中html结果和下载文件之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61751788/
当我尝试通过我的 .exe 文件从 url 下载 .pdf 文件时出现以下错误。 The server committed a protocol violation. Section=Response
我是一家非营利组织的 G Suite 管理员,刚刚发现数据导出功能,这似乎是个人帐户的外卖。 导出文件已准备好,现在可以从 Google Cloud Platform Storage 中的存储桶下载。
导航 引言 总体思路 七牛云相关的配置文件 获取七牛云上传token 相关类定义 核心代码实现 获取七牛云图片下载链接 公开空
这不是后端编程问题。我只能修改标记或脚本(或文档本身)。我在这里问的原因是因为我对适当术语的所有搜索都不可避免地导致有关编程此功能的问题和解决方案。我不是试图通过编程来强制它;我必须找出此 PDF 行
您好,我已在 Google AdSense 中注册,我想使用适用于 iOS 的 SDK,但目前我找不到 SDK 下载链接。 我的申请已获批准。 任何人都知道如何下载这个sdk。 我使用这个链接来描述如
我需要为当前在 SourceForge 上的 github 项目提供二进制文件和文档。在那里,我可以为我需要的下载提供一个目录结构,因为我必须为大约 10 个不同的操作系统提供几个版本。 github
我从 Canvas 下载绘图时遇到问题。这是我的代码: function downloadCanvas(link, canvasId, filename) { link.href =
ASP.NET 项目 我将使用 Azure 进行存储。问题(要求): 在我的项目中,我让注册用户下载文件。但我不希望用户将此下载链接分享给未注册的人(例如:我给注册用户的下载链接只能在他们的计算机上下
我编写了一个servlet,用于检查http header ,但我不知道为什么当页面加载时,它会自动开始下载。 /* * To change this template, choose To
我正在尝试将下载添加到我的网络浏览器,但遇到的问题是获取您尝试下载的文件的名称。这是我的下载代码: engine.locationProperty().addListener(new ChangeLi
我正在尝试下载网站的 html: String encoding = "UTF-8"; HttpContext localContext = new BasicHttpContext();
我制作了一个带有“开始下载”按钮的框架,用于从网站下载 JAR。 问题是每当我点击开始下载按钮时,整个框架就会卡住,直到下载完成,然后就正常了。 我该如何解决这个问题? 这是单击按钮时执行的代码 p
我得到这段代码来实现一些东西,它可以帮助我从给定的 URL 下载文件。 -(void)URLSession:(NSURLSession *)session downloadTask:(NSURLSes
我正在尝试创建一个 Controller 来使用流方法下载和上传文件,在我的例子中,所有文件都作为 Blob 保存在数据库中。我阅读了 Jboss Netty 的文档,但我认为这不是我的最佳解决方案。
下载并保存文件 let destination: DownloadRequest.DownloadFileDestination = { _, _ in // var fileURL = sel
使用 htaccess 我基本上试图禁止访问该页面,即 http://example.com , 但它仍然允许人们下载文件,如果他们有直接链接即 http://example.com/hi.zip .
我正在寻求将脚本与我的控制面板集成,并且由于我是新手脚本编写者而遇到问题。我想做的是用 1 个脚本下载一个文件并解压它。 示例: wget http://example.com/example.tar
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
这个问题在这里已经有了答案: Top techniques to avoid 'data scraping' from a website database (14 个答案) 关闭 5 年前。 我有
这个问题在这里已经有了答案: Reading and parsing email from Gmail using C#, C++ or Python (6 个答案) 关闭 7 年前。 我只是想,是
我是一名优秀的程序员,十分优秀!