application/x-gzip
100MB부터 999MB까지 다양한 크기의 콘텐츠 유형 파일 업로드를 테스트하고 싶습니다 .
.gz
미리 결정된 크기의 파일을 어떻게 생성합니까 ? 이렇게 하면 dd if=/dev/zero of=somefile bs=1 seek=100
일반적으로 압축 후 결과 파일이 매우 작습니다.
답변1
다음과 같이 10MB gzip 파일을 만들 수 있습니다.
head -c 10M /dev/urandom | gzip -1 >10m.gz
이는 높은 엔트로피 바이트 스트림을 얻는 데 사용됩니다
urandom
. 이는 압축할 수 없기 때문에 gzip으로 압축된 버전은 입력과 거의 동일한 크기입니다.그런 다음 gzip으로 압축된 파일의 복사본을 함께 연결할 수 있습니다.
cat $(perl -e "print '10m.gz ' x 30") >300m.gz
소스 파일 30개 복사본은 약 300MB, 100개 복사본은 약 1GB입니다.
답변2
또 다른 접근 방식이 있습니다. 루프 변수를 제어하여 파일을 생성할 수 있습니다 filecount
. 이렇게 하면 100MB에서 900MB 크기의 임의의 파일이 생성되어 gzip
저장됩니다.
#!/bin/bash
filecount=0
while [ $filecount -lt 10 ]
do
filesize=$((RANDOM%9+1))
filesize=$(($filesize*104857600))
</dev/urandom head -c "$filesize" | gzip > /tmp/file${filecount}.$RANDOM.gz
((filecount++))
done