application/x-gzip
100 MBから999 MBの範囲のさまざまなサイズのコンテンツタイプのファイルのアップロードをテストしたいと思います。
.gz
これらの所定のサイズのファイルを作成するにはどうすればよいですか?私が行う場合dd if=/dev/zero of=somefile bs=1 seek=100
、通常、圧縮後のファイルは非常に小さくなります。
application/x-gzip
100 MBから999 MBの範囲のさまざまなサイズのコンテンツタイプのファイルのアップロードをテストしたいと思います。
.gz
これらの所定のサイズのファイルを作成するにはどうすればよいですか?私が行う場合dd if=/dev/zero of=somefile bs=1 seek=100
、通常、圧縮後のファイルは非常に小さくなります。
回答:
次のように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コピーは約1ギガバイトになります。
ここに別の方法があります。ループ変数を制御してファイルを作成できます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
base64
は約25%圧縮可能です。私は、base64ビットをスキップし、headを直接呼び出すことをお勧めし/dev/urandom
ます。