Jmeter не может загрузить большой файл с HTTP-запросом или HTTP-запросом - PullRequest
0 голосов
/ 29 мая 2020

target:

  • simulator 10 пользователей загружают файл с сервера
  • размер файла более 300M
  • использовать HTTP-запрос сэмплер для загрузки файла на сервер Nginx с помощью сценария оболочки bean.

результат:

  • успех 2/10

  • журнал jmeter: java .lang.OutOfMemoryError: Java пространство кучи

настроить в jmeter.bat:

  • установить HEAP = -Xms1024m -Xmx3072m

  • установить NEW = -XX: NewSize = 512m -XX: MaxNewSize = 1024m

пожалуйста, помогите, спасибо.

скрипт оболочки bean

   import java.io.*;

   byte[] result=prev.getResponseData();
   String file_name="d:\\update.txt";
   String key=vars.get("name");
   String newname=file_name+key;
   File file=new File(newname);
   FileOutputStream out=new FileOutputStream(file);
   out.write(result);
   out.close();

1 Ответ

0 голосов
/ 01 июня 2020
  1. Если у вас есть 10 одновременных загрузок файла, размер которого превышает 300 мегабайт, вам понадобится как минимум 4 ГБ места в куче, чтобы уместить все (и, глядя в ваш «код», это будет около 10 ГБ), если этого недостаточно, измерьте использование кучи для 1 пользователя и 2 пользователей, используя, например, JVisualVM , и экстраполируйте его для 10 пользователей
  2. Не используйте Beanshell для написания сценариев
  3. Если вам нужно сохранить ответ на локальный диск, лучше go для Сохранить ответы в прослушивателе файлов , проверьте Тестирование производительности: загрузка и загрузка сценария ios с помощью Apache JMeter для получения дополнительной информации, если необходимо
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...