2017-12-08 3 views
0

私の会社ではフードマーケットアプリが稼動しており、11:00 AM毎にAWS SNSサービスを使用してアプリ通知をプッシュします。最近、トラフィックが多くなり、EC2(t2.medium)上の5つのAPIサーバーが非常に不安定になりました。問題は、大量のトラフィックは、プッシュ通知を送信した直後(午前11時から午前11時10分)には約10分かかることです。だから私は自動スケーリングを適用しましたが、サーバの起動に時間がかかり、スケールアップする前にクラッシュしてしまったため動作しませんでした。われわれは創業企業であり、サーバーのコストを最小限に抑えることはすばらしくなるだろう。このような状況では、どのような解決方法が可能ですか?通知をモバイルアプリに送信した後、EC2 APIサーバーで大量のトラフィックを処理するにはどうすればよいですか?

答えて

1

私は数領域を検討することをお勧めします:

  1. EC2インスタンスのサイズを。 T2 Unlimitedを有効にしてください。これはre:Invent 2017でちょうど発表されました。この機能は、発生するCPUスロットルを削除します。あなたはそれを使用する場合にのみ支払います。
  2. 自動スケーリング。プッシュ通知の前に、オートスケーリンググループを手動で増やしてから、ブリッツ後に自動スケーリンググループを減らしてください。
  3. EC2インスタンスがオンラインになるのに時間がかかる場合は、オンラインになるまでの時間を短縮するために、すでに設定されているインスタンスで独自のAMIを作成することを検討してください。
  4. ロードバランサ。 Amazon Classic Load Balancerはトラフィックが急増する前に予熱が必要です。 CLBを使用している場合は、新しいALBまたはNLBにアップグレードしてください。
  5. SSLの終了。ロードバランサでSSLを終了します。これにより、EC2インスタンスのCPU負荷が軽減されます。
  6. CloudFront/S3。静的資産(img、js、css、グラフィックス、ドキュメント、チラシなど)をS3に移動し、CloudFront経由で配信します。
  7. CloudFrontをロードバランサの前に置きます。
  8. プッシュ通知の速度を下げます。
+0

すべての素晴らしい提案。 @ hodoo-lee;より具体的なものが必要な場合は、セットアップに関する詳細情報を提供する必要があります。 –

+0

提案していただきありがとうございます!私は私ができることを試みます。 –

関連する問題