2017-02-02 11 views
0

Я пытаюсь загрузить файл в HDFS (сервер) из jmeter. Как я вижу, файл загружен в HDFS успешно, но размер файла немного увеличен. Таким образом, файл поврежден. И файл работает не так, как ожидалось.Размер файла, увеличенного на сервере (HDFS) при загрузке из jmeter

Тот же файл, который я загрузил с помощью 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) 

ответ

1

В теле вашего запроса POST Jmeter обматывает следующие заголовки внутри границы фактическим содержимым файла перед отправкой на сервер.

POST данные: --HTKJ_hgyyM7QVWQfJBS5X-WQX0zkMO5fqmlY Content-Disposition: форм-данных; Name = "file1.pak"; имя файла = "file1.pak" Content-Type: применение/октет-поток Content-Transfer-Encoding: двоичный --HTKJ_hgyyM7QVWQfJBS5X-WQX0zkMO5fqmlY--

В случае, если вы хотите отправить фактический файл в тело, попробуйте удалить «Параметр Name» в поле «Загрузка файлов» запроса 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.

Это работает для меня, пожалуйста, попробуйте его.

0

Наиболее возможной причиной является Почтальон и JMeter быть настроены по-разному. Добавьте слушателя и внимательно осмотрите запрос JMeter, обращая внимание буквально на все, особенно на «Заголовки запросов», поскольку они имеют значение. См. How to Debug your Apache JMeter Script руководство по полной информации об устранении неполадок при тестировании JMeter.

Если вы не сможете определить различия, используя List List Tree Listener, вы можете захватывать запросы от JMeter и Postman, используя инструмент снижения сетевого уровня «нижнего уровня», такой как Wireshark, который является самым передовым анализатором сетевого трафика, вы сможет обнаружить однобоковое несоответствие с ним.

Если вышеприведенные советы не помогут обновить ваш вопрос с помощью конфигураций Postman и JMeter и, возможно, Wireshark .pcap отслеживать оба запроса, чтобы я или другие члены сообщества могли взглянуть и предложить соответствующие изменения.

+0

Я добавил дерево результатов поиска и не нашел ошибок. (Файл загружен успешно). Я не знаю, как использовать wirehark. Файл успешно загружен как с jmeter, так и с почтовым агентом, но при загрузке формы есть небольшой размер. Jmeter –

+0

Здравствуйте, Dmitri T, вот ссылка [jmeter_uploadfile] (https://www.dropbox.com/s/h85hv6lqtoho05r/ jmeter_fileupload.pcap? dl = 0) в файл .pcap. Пожалуйста, просмотрите и дайте мне знать. [jmeter_uploadfile] (https://www.dropbox.com/s/h85hv6lqtoho05r/jmeter_fileupload.pcap?dl=0) Спасибо. –