パフォーマンス改善 -ダッシュボードページで7倍以上の高速化-
こんにちは、採用一括かんりくんdevops パフォーマンスチームです。今回は、直近半年ほど(2024/03 3W ~ 2024/09 2W)の活動を振り返り、その成果を公開致します。
アクセス数の多いページやAPIを主要改善対象として活動を続けており、ここ半年ほどで30件以上のプロジェクトがリリースされました。
対象ページやAPI、改善内容は多岐に渡るのですが、方針は共通してフロントエンド・バックエンドを問わずにボトルネックを分析・特定することから始めています。行ってきた内容を整理しますと、
・DB インデックス追加
・クエリ最適化(サブクエリ廃止、集計関数利用、インデックス強制使用、ジョイン順番の指定…)
・フロントに渡すデータ構造を簡素化、データ量削減
・n+1問題解消
・データリクエスト非同期化
・サーバースクリプトキャッシュ、関数結果のキャッシュ、サニタイズデータキャッシュ利用
・APIコール回数削減
・レンダリング最適化
など、数多くのアプローチがとられてきました。
それらを通して得られた主要な成果を以下グラフに示しました。いずれのページでも数倍以上の改善を実現しており、特に中途かんりくん ダッシュボードページにおいては、3.32秒 → 0.44秒 と約7.5倍の改善に至っています。
これらのページについては引き続き、さらに多くのページやAPIのパフォーマンスも改善していく予定です。サービス全体を通した最適なユーザーエクスペリエンス提供を目指し、活動を続けて参ります。