Как создать файл размером X байт, который не сжимается с помощью zip

Как создать файл размером X байт, который не сжимается с помощью zip

Я тестирую под нагрузкой приложение, которое по сути является запросом/ответом на загрузку/выгрузку. Загружаю файл, архивирую файл, отправляю сжатый файл куда-нибудь. Я хочу провести нагрузочное тестирование, отправив файлы размером X байт, чтобы увидеть, где мои ограничения. Я создаю файлы нужного мне размера в байтах, но из-за природы zip-архива на самом деле невозможно сказать, каким будет размер файла, когда он будет сжат и отправлен обратно. Поэтому я отправляю файл размером 400 МБ, он сжимается, скажем, до 170 МБ и отправляется обратно. Это на самом деле не тестирует механизм так, как я хочу. Я хочу иметь возможность отправить 400 МБ, позволить сжатию произойти, но все еще иметь 400 МБ, которые будут отправлены вниз...

Как мне создать файл данных, который нельзя заархивировать?

решение1

dd if=/dev/urandom of=file bs=1M count=400

Создаст файл file, который zip вообще не сможет сжать. Zip также не сможет сжать ранее сжатые данные, включая видеофайлы.

решение2

Вы можете использовать предварительно сжатый или случайный файл (но нет гарантии, что он не сожмется, особенно если файлы небольшие), но самый простой метод — использовать опцию -Z storeкоманды zip, которая просто сохранит файлы в архиве без сжатия (при условии, что вы используете команду zip(1)).

Связанный контент