DynamoDB, SQSなどは、Linux内部から高頻度に HTTP APIを叩きに行くことになる。( Fluentdやら、memcachedやらも同じかも) 通常のLinuxのカーネルパラメータ設定で、本番環境や、負荷テスト環境に使うと、おそらくネットワーク障害のような状況に陥るはず。 その時、「DynamoDBの IOPS不足?」「 SQSのAPI スロットリング?「AWSの限界?」と思う前に、これチェック! netstat -an この結果に、大量のTIME_WAITが表示された場合は、 エフェメラルポートが枯渇して socket作れない状態に陥っている。つまり、DynamoDBやSQSまでパケット届いていない状態なのでAWS側は原因ではない。 ということで、エフェメラルポートを最大限使うようにカーネルパラメータを設定しておくことを忘れないようにするためのメモ。 $ sudo cp