検索結果を先に返すために、裏側の処理順を見直した
商品検索を押したのに、裏側では定期的な詳細確認が何百件も先に並んでいる。利用者からは見えませんが、同じ処理待ちを共有していると、このようなことが起こります。そこで「今、人が待っている検索」を先に処理できるよう、仕事の種類ごとに優先順位を分けました。
SECTION 01
先に入った仕事を全部先にやると、操作が重く感じる
定期的な商品詳細の確認は必要ですが、利用者が画面で待っている検索と同じ優先度にすると、検索結果が返るまで時間がかかります。
処理自体が遅いのではなく、前に並ぶ仕事が多いために待たされる場合があります。そこで、処理時間と待ち行列を分けて考えました。
SECTION 02
即時検索、定期検索、画像、詳細取得で順番を分ける
画面から始めた型番検索などは高い優先度、定期キーワード検索はその次、画像確認と日常的な詳細取得は後ろへ配置します。
すべてを最優先にすると意味がないため、利用者が待っているか、後から処理してもよいかを基準にしています。
FLOW
共有キューの処理順
即時検索
画面で待っている検索を先にします。
補助確認
画像などの確認を中間に置きます。
定期詳細
日常的な更新は後ろで進めます。
SECTION 03
すでに待っている仕事も、安全に並べ直せる
新しく追加する仕事だけ優先度を変えても、すでに大量の待機処理があると効果が出るまで時間がかかります。
待機中の仕事だけを対象に、変更予定を確認するモードと実際に反映するモードを分けました。処理中の仕事へ途中から触れないようにしています。
SECTION 04
速さを上げるより、待たせる仕事を選ぶ
サーバーを増やすだけが速度改善ではありません。今すぐ必要な仕事を前へ出し、定期作業を少し待たせるだけで体感が変わることがあります。
検索を使う昼の時間帯に、候補確認を始めやすくするための裏側の整理です。
QUESTIONS
よくある質問
記事の内容に関連して、検索されやすい疑問を短く整理します。
Q1詳細取得の処理が行われなくなるのですか?
処理を停止するのではなく、利用者が待つ検索を先にし、その後で日常的な詳細取得を進めます。
Q2すでに待機中の処理も優先順位を変更できますか?
待機中であることを確認した処理だけを対象に、安全確認用の実行と実際の反映を分けて並べ直せます。
RELATED ARTICLES