(2018年10月追記)
現在リクエスト数の制限はなくなり、より使い勝手がよくなったようです。
最新の状況は公式ドキュメントを参照ください。
https://help.github.com/articles/what-is-github-pages/
GitHub Pages(GHP)は、GitHubに置いてるリポジトリを簡単にWeb公開できる、GitHubの超絶便利なホスティングサービスです。
無料・超お手軽・独自ドメインも対応ということで、静的サイトはもう完全にGitHub Pagesでいいじゃんという昨今ですが、JSで完結するWebアプリとか作り出すと、「あれ、もはやアプリのホスティングもGitHub Pagesでよくね?」みたいな気分になってきました。
しかしアクセスが激増したときにどれくらい耐えられるんだっけ、というのがあまり日本語で情報がなく、productionの使用に躊躇していたのですが、公式ドキュメントにちゃんと書いてありました。
同じ情報探してる人もいるかもなので、「Usage limits」のところを日本語訳しておきます。
ざっくり訳なので修正などあれば指摘くださいませ。
(全然関係ないけど、とりあえず下訳でGoogle翻訳に投げたらほとんどちゃんと意味が通じる文が返ってきて驚愕。おそろしく精度が上がっている。。)
Usage limits(公式サイト翻訳)
GitHub Pagesサイトには、以下の使用制限が適用されます。
- GitHub Pagesソースリポジトリの推奨制限は1GBです。
- 公開されているGitHub Pagesサイトは1GB以下である必要があります。
- GitHub Pagesサイトは、1か月あたり100GBまたは100,000リクエストの帯域幅制限があります。
- GitHub Pagesサイトは、1時間あたり10ビルドの制限があります。
あなたのサイトがこれらの使用制限値を超えた場合、あなたのサイトを表示することができなくなったり、他のホスティングサービスへの移動など、サーバ負荷を抑えるための方針を提案する丁寧なメールがGitHubサポートから届いたりする可能性があります。
さらに、GitHub Pagesサイトは以下のような行為を控える必要があります:
- 違法行為、または当社の利用規約によって禁止されているコンテンツまたは活動
- 暴力的または脅迫的なコンテンツまたはアクティビティ
- 過度の自動バルクアクティビティ(スパムなど)
- GitHubユーザーまたはGitHubサービスを危険にさらす活動
- Get-rich-quickスキーム(※訳注:攻略法詐欺)
- ポルノのコンテンツ
- あなたのアイデンティティやサイトの目的を誤った内容
あなたの使用または意図された使用がこれらのカテゴリに該当するかどうかについて疑問がある場合は、GitHubサポートに連絡してください。
大事なところ
上限は10万リクエスト/月
容量の制限とかはわりとよく聞きますが、アクセス制限に関してはこれですね。
- GitHub Pagesサイトは、1か月あたり100GBまたは100,000リクエストの帯域幅制限があります。
というわけで、**「月間10万リクエスト」**がGitHub Pagesでサイト公開できるかの目安になるようです。
単純計算で10万PV/月ですが、画像やjs/cssファイルを同一リポジトリに置いて読み込んでいる場合など、その分リクエスト数が発生することになります。
なので実際には数万PV/月程度が上限でしょうか。
またあんまり大きい画像や動画で1リクエストあたりの転送量が多くなると、月100GBの制限に先にひっかかるかも。
対策として、js/cssのライブラリなどは、極力cdnでホスティングされてるものを使って、GHPの外にリクエスト投げるようにするのがよいかと。
お行儀悪いですが、カスタム部分はファイル内にインラインで記述するとリクエスト減らせそうです。
それかどうしても別ファイルにしたければ、js/cssファイルをgistに置いてRawGitでホストしてそれを読み込むようにするとか、、
1周まわって何してるのかよくわからなくなってきた。。
超えちゃったらどうなるの?
あなたのサイトがこれらの使用制限値を超えた場合、あなたのサイトを表示することができなくなったり、他のホスティングサービスへの移動など、サーバ負荷を抑えるための方針を提案する丁寧なメールがGitHubサポートから届いたりする可能性があります。
じゃあ10万PV超えちゃったらどうなるの?というのが気になるところですが、単純にサイトが表示されなくなったり(we may not be able to serve your site)、サポートから丁寧なメール(polite email!)が届いたりするようです。
politeってわざわざ言ってるあたり、問答無用で制裁加えたりするつもりはなくて、瞬間的にちょっとはみ出しただけとかならよしなにしてくれそうな印象を受けましたが、実際にはどうなんでしょうね。
まぁ継続的に上限超えちゃうようなら間違いなくだめっぽいので、そのときはS3なりGCSなりちゃんと他のを使いましょう、って感じですね。
まとめ
というわけで、10万リクエストいくまでは安心してGitHub Pages(GHP)のお世話になりたいと思います。
みなさんも用法・容量を守ってたのしいGHPライフを!