从jmeter上传时,服务器(HDFS)中的文件大小增加

时间:2017-02-02 10:49:28

标签: upload jmeter hdfs

我正在尝试从jmeter上传HDFS(服务器)中的文件。正如我所见,文件已成功上传到HDFS,但文件大小略有增加。因此,使文件损坏。并且文件无法正常工作。

我使用Postman上传的同一个文件,它工作正常。 HDFS中的文件大小没有变化,文件按预期工作。

这里是jmeter中请求的主体,它显示成功消息,文件在服务器

 POST http://myurl/../..

POST data:
--HTKJ_hgyyM7QVWQfJBS5X-WQX0zkMO5fqmlY
Content-Disposition: form-data; name="file1.pak"; filename="file1.pak" 
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary

<actual file content, not shown here>
--HTKJ_hgyyM7QVWQfJBS5X-WQX0zkMO5fqmlY--


[no cookies]

Request Headers:
Connection: close
file_name: jmeter13.pak
Content-Type: application/octet-stream
Content-Length: 11563
Host: 10.45.3.64:8080
User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_111)

2 个答案:

答案 0 :(得分:1)

在POST请求的正文中,Jmeter在发送到服务器之前将边界内的以下标题包装到实际文件内容中。

  

POST数据:   --HTKJ_hgyyM7QVWQfJBS5X-WQX0zkMO5fqmlY   内容处理:表格数据; NAME = “file1.pak”;文件名= “file1.pak”   Content-Type:application / octet-stream   内容传输编码:二进制      --HTKJ_hgyyM7QVWQfJBS5X-WQX0zkMO5fqmlY -

如果您想在正文中发送实际文件,请尝试删除HTTP请求的“文件上传”框中的“参数名称”,如http://jmeter.apache.org/usermanual/component_reference.html#HTTP_Request

中所述

File Path: Name of the file to send. If left blank, JMeter does not send a file, if filled in, JMeter automatically sends the request as a multipart form request. If it is a POST or PUT or PATCH request and there is a single file whose 'Parameter name' attribute (below) is omitted, then the file is sent as the entire body of the request, i.e. no wrappers are added. This allows arbitrary bodies to be sent. This functionality is present for POST requests, and also for PUT requests.See below for some further information on parameter handling.

这对我有用,请试一试。

答案 1 :(得分:0)

最可能的原因是Postman和JMeter的配置不同。添加View Results Tree监听器并仔细检查JMeter请求,注意所有内容,尤其是“请求标头”,因为它们很重要。有关JMeter测试故障排除的全面信息,请参阅How to Debug your Apache JMeter Script指南。

如果您无法使用“查看结果树”侦听器找出差异,则可以使用“{3}}这样的”低级“网络嗅探器工具捕获来自JMeter和Postman的请求,这是最先进的网络流量分析器,您将能够检测到单个字节与其不一致。

如果上述提示无效,请使用Postman和JMeter配置更新您的问题,并为这两个请求更新Wireshark .pcap跟踪,以便我或其他社区成员可以查看并建议相应的更改。