移行プロジェクトの最終盤に必ず一度は聞くセリフが「オンプレのときより遅い」です。感覚論で押し問答になる前に、切り分けの順番を決めておきましょう。私たちが現場で使っている手順をそのまま書きます。

01ステップ0:「何が・どれだけ」を数値にする

最初にやるのは計測であって調査ではありません。「画面Aの表示が3秒→8秒」「夜間バッチが2時間→3.5時間」のように、対象と数字を特定します。「全体的に遅い」は調査対象にできません。この時点で、実は特定の1画面・1ジョブだけの問題だと判明することが半分くらいあります。

02象限①:レイテンシ — チャッティなアプリの宿命

オンプレのLAN内は往復1ms未満、拠点からAWSへは往復10〜20ms程度。1回の通信では知覚できない差が、1画面で数百回SQLを発行するようなチャッティなアプリでは数秒の差になります(200クエリ×15ms=3秒)。

03象限②:ストレージ — ベースラインとバースト

「最初は速かったのに数十分で遅くなる」パターンはほぼこれです。gp2のバーストクレジット枯渇か、インスタンスのEBS帯域がバースト値からベースラインに落ちたか。CloudWatchのBurstBalanceとVolumeQueueLengthを確認してください。対処はEBS選定の記事にまとめた通り、gp3化とインスタンス帯域の確認です。

04象限③④:DNSと経路

現場のコツ:「オンプレ時代の経路設計をそのまま持ち込んだプロキシ」は頻出犯です。クラウド内の通信までオンプレのプロキシを往復していないか、最初に疑ってください。

05手順書として回す

①数値化 → ②AWS内から再現(レイテンシ切り分け)→ ③CloudWatchでストレージ確認 → ④DNS・経路確認。この順で見れば、大半の「遅い」は1〜2日で原因に到達します。重要なのは、移行前に基準値(オンプレでの処理時間)を計測しておくこと。比較対象のない性能問題は、永遠に終わりません。

「移行したら遅い」の切り分け支援は、スポットでもお受けしています。計測データの取り方の指南からで構いません。原因不明のまま放置された性能問題ほど、移行への信頼を削るものはないので。

相談する
← ブログ一覧へ戻る