RCOSDP / RDM-osf.io

Facilitating Open Science
https://rcos.nii.ac.jp
Apache License 2.0
13 stars 24 forks source link

マイプロジェクトページのユーザ体験を向上施策 #505

Open tishin-endou opened 2 months ago

tishin-endou commented 2 months ago

Purpose

OSFの上部のメニューにある「マイプロジェクト」を開いたときに500ユーザがプロジェクトに所属しているとembed属性を取得するSQLが都度発行されるので リクエスト内で一度取得した情報はキャッシュして再利用することで、レスポンスの高速化を図る 子要素毎に新しいビューを作成するリレーショナルフィールドでシリアル化プロセス全体で再起的な入れ子が発生するので改善する

Changes

キャッシュの導入: プロジェクトのコントリビュータデータの取得結果をキャッシュする 同じデータの再取得を避けることで、API呼び出しの数を削減

ページネーションの改善: OptimizedPagination クラスを追加しページオブジェクトやページ数を確認後に、オブジェクトリストを非同期的に取得する ページネーションの計算でクエリの処理を明確にしてデータを効率的に取得する

QA Notes

Documentation

施策前のnodeの実行時間は7秒前後

before myproject

施策後のnodeの実行時間は1秒ほど

after step2

Side Effects

Ticket

tishin-endou commented 1 month ago

コメントありがとうございます! 再考いたしました。ユーザ体験が向上しそうな効果を計測し添付いたしました。