テストファイル

100 MB のPDFファイル

ちょうど 104,857,600 バイトapplication/pdf を、その場で生成して配ります。 内容は決定論的なので、いつダウンロードしても同じ中身・同じハッシュです。

ダウンロードsample-100mb.pdf / 100 MB
ファイル名sample-100mb.pdf
容量104,857,600 バイト(100 MB
MIMEapplication/pdf
MD536b432a0156b17fb76bd81213245fb3a
SHA-2560d78828d0d1e0c0070b047bde5eaebf1487e366b0c30a7a3706becabe555fd94

コマンドで取得

curl
curl -o sample-100mb.pdf https://naqto.com/api/dl/pdf/100mb/
wget
wget -O sample-100mb.pdf https://naqto.com/api/dl/pdf/100mb/
PowerShell
Invoke-WebRequest https://naqto.com/api/dl/pdf/100mb/ -OutFile sample-100mb.pdf

使いどころ

アップロード上限のテスト、帯域やタイムアウトの検証、ダウンロード処理の動作確認など、「ちょうどこの容量のファイルが欲しい」という場面のためのダミーファイルです。1 ページだけの最小構成の PDF に、規格上読み飛ばされる領域を足してちょうどの容量にしています。ビューアで普通に開けます。

100 MB という容量の目安

GitHub が 1 ファイルに課している上限がちょうど 100MB です。この容量を単発で扱えるかどうかは、実装の作りがはっきり出ます。

ストリーミング処理・マルチパートアップロード・メモリ使用量の確認に。全部をメモリに読み込む実装は、この辺りで破綻します。

GitHub の 1 ファイル上限がちょうど 100MB で、これを超えるものは Git LFS に逃がす必要があります。HTTP でも一括読み込みが現実的でなくなる境目です。

10Mbps(モバイル回線の目安)約 1.4 分
100Mbps(一般的な光回線)約 8.4 秒
1Gbps(上限まで出た場合)1 秒未満

回線を専有できたと仮定した理論値(バイト×8÷速度)です。実測ではないので、実際はこれより遅くなります。

どうやって「ちょうど」にしているか

%%EOF の後ろを注釈で埋めて容量を合わせています。PDF は %%EOF より後ろを読まないので、ビューアの表示には影響しません。

同じ 100 MB を別の形式で試すなら: PNG / JPG / GIF / WEBP / MP4 / WEBM / ZIP

容量は 1KB = 1024バイトで計算しています。100 MB = ちょうど 104,857,600 バイトです。上のハッシュは事前計算した固定値で、 ダウンロードした実ファイルと一致します(ハッシュ検証のテストにも使えます)。