この記事ははてなエンジニア Advent Calendar 2022の27日目のエントリです。 問題 社内で運用している Fargate サービス (Perl の plack アプリケーションが動いている) において、以下のような問題が発生していました。 リクエストごとの処理の重さ (計算リソースの使用量や所要時間) に違いがあり、特定の task に重いリクエストの割り振りが偏ることがある Fargate task は表向きのコア数は同じでも、割り当たるハードウェアの世代によって処理能力が異なるケースがある (いわゆるインスタンスガチャ) このような偏りのある状態でアクセス増など全体の負荷が増加し、一部 task のワーカプロセスが全て busy な状態が一定時間続くと ALB のヘルスチェックに落ちて殺される 各リクエストを1つのプロセスが処理する、いわゆる prefork アーキテク
![ALB ターゲットグループのバランシングアルゴリズムを LOR にする - hagihala's blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/85c8a4aa4c9f854566a9c8a8636a4a5428b27b22/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fh%2Fhagihala%2F20221227%2F20221227104101.png)