5
3

More than 3 years have passed since last update.

ECSでTCPソケットエラー 事象と対応

Posted at

ECS + Nginx,GunicornでTCPソケットエラー

  • Jmeterで負荷をかけると503 Bad Gatewayが多発した
  • どうやらECSには以下の制約があるそう。

net.core.somaxconn=128
現時点では Fargate では変更できないので、タスクを多く起動して頂くことで解決して下さい。
【週刊 Ask An Expert #04】AWS Loft Tokyo で受けた質問まとめ #AWSLoft

  • 他にもDBのチューニングも考慮した方が良い

ディスクI/O
RDSのパフォーマンスインサイトでIndexの分析
  パフォーマンスインサイトではIndexの使用率やクエリの結果が確認可能

対応方法の検討

1 ECSを予め増やしておく
一番ナンセンスだが、即時で対応が可能。
ELB + ECSの環境であれば、最小コンテナ数と最大コンテナ数の設定を変えるだけで済む。必要に応じて、ELBのPre-Warmingをすること!

2 ELBでのコネクション数を閾値にコンテナを動的に増やす
ELBのActiveConnectionCountを閾値にして、コンテナ数を増やす。
ECSのポリシーの追加-アラームを追加で設定できる

3 スケジューリングでECSをオートスケールする
利用開始時間の前にECSをスケールアウトさせておく。
アプリケーションオートスケーリング-lambda-コンテナの数

余談

EC2の監視間隔はデフォルトで5分間隔だが、ECSはデフォルト1分間隔で監視できる。

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3