Webアプリケーションは仮想的にDiggまたはRedditで紹介されており、サーバーの負荷はすぐに数桁上昇します。どのようなホスティングソリューションがこのような大きな変化を乗り越えてWebサイトを存続させますか? (そして大金はかかりません)
最近、AWSを介したホスティングが流行しているようです。ただし、多くの人がコストについて不満を述べています。 VPSホスティングソリューションも、コストを抑えながらタイムリーにスケールアップできますか?代替案?ありがとう。
サーバーインフラストラクチャを最適化する前にアプリケーションを最適化する
トラフィックの急増時に、より多くのサーバーを投入したり、「万が一に備えて」使用することのできないリソースを過剰に支払うのは魅力的です。より良い解決策は、スパイクが到着する前にスパイクに耐えるようにアプリケーションを最適化することです。具体的には:
動的コードのキャッシュ
アプリケーションは、キャッシングシステムを使用して動的に生成されたファイルではなく、静的なhtmlファイルを提供する必要があります。 WordPressはこのためのプラグイン(W3 Total Cacheなど)を提供しますが、アプリケーションが自作の場合、独自のソリューションを展開するのはそれほど難しくありません。 (「[プログラミング言語]静的キャッシュ」を検索してください。)
静的アセットのオフロード
別の場所から画像、CSS、およびJavaScriptファイルを提供します。 Amazonの Cloudfront および S パッケージは人気のあるオプションですが、私は Cloudflare、 をお勧めします。これは、静的アセットと他のCPUと帯域幅のリストを自動的にキャッシュします-saving benefits $ 20 /月。
GoogleのPage Speed Onlineツールを使用
Googleの Page Speed Online ツールを使用して、サイトをさらに最適化します。サーバーインフラストラクチャに触れることなく、ページの速度を向上させる(および負荷を減らす)ためにできることの提案を提示します。
すべて完了したら
そのときだけ、ハードウェアと環境の最適化を検討する価値があります。検討する価値のあるオプション:
すべてが失敗した場合...
静的ページを作成してサービスの概要を説明し、メールアドレスを収集することを検討してください。トラフィックが急増したときにサイトがダウンした場合、アプリケーション自体の代わりにこれを配置します。これには Wufoo または MailChimp を使用します。
緊急事態をホストする場合ダッジ!」別の(安価な)共有ホスティングアカウントのフォームでは、 DNSフェールオーバー を使用して、メインアプリケーションがダウンした場合にトラフィックを自動的に静的フォームにリダイレクトできます。そうすれば、Diggが100,000人の訪問者とアプリのチョークを送信した場合、少なくともあなたはメーリングリストを構築し、それらの訪問者の一部に興味をそそります。
これは、フロントエンドサーバーが負荷を分散する方法に大きく依存します。スイッチの切り替え時に余分な容量を追加するように設計されていない場合(または、持続的なスパイクが検出されたときに自動的に自動的に追加される可能性があります)、この種のことを計画するのは困難です。
数分で追加のサーバーを起動できるようにロードバランシングを設計する場合(AWSなど)、使用中の追加の容量に対してのみ料金が発生します。価格設定が機能するかどうかを確認するには、何らかのシナリオで価格設定の調査を行う必要があります。
ただし人気が原因で突然のトラフィックの急増がある場合、ライフサポートシステムなどを実行していない限り、短期間停止するよりも悪いことがあります。
アプリ/スタートアップ/プロジェクトが特にコストに敏感な場合は、必要なものを構築し、それを維持することをお勧めします。人気が爆発し、容量を追加するのに数日費やさなければならない場合、それは良い問題だと思います。
さらに、まだ必要のないキャパシティをはるかに先に計画すると、より重要なリソースに費やすことができるようになり、お金を使うことになります。
ほんの一例として、最初のStackExchange Site(StackOverflow)は、おそらく昨年まで単一のサーバーで実行されていたと思います。 Jeff Atwoodが彼のブログでそれについて語っていますが、StackExchangeネットワークにスケールアウトするためのインフラストラクチャを追加する前に、彼らは1日あたり数百万のページビューを獲得していました。