← Kembali ke Dashboard
BIF-1042 ⚡ High Open

Dashboard page load performance degradation

Dashboard utama mengambil >8 saat untuk load selepas deployment v2.5.1 semalam. Pengguna melaporkan query SQL dan API response time yang perlahan.

📸 Dari: Aina (User) — via screenshot + chat
performance dashboard urgent database frontend
📄 PRD 🎫 Ticket 💻 Draft Code 🧪 Test Cases 📜 History

📄 PRD — Product Requirement

Objektif

Kurangkan masa load dashboard dari >8 saat kepada <2 saat untuk meningkatkan pengalaman pengguna dan kadar pengekalan.

Latar Belakang

Deployment v2.5.1 memperkenalkan widget analitik baru yang menjalankan query SQL berat pada setiap load. N+1 query problem pada user list API.

Keperluan

  • Optimize SQL: add index pada transactions.created_at & orders.user_id
  • Cache API response dengan Redis (TTL 60s)
  • Lazy-load widget chart di bawah fold
  • Bundle size: split chunks untuk page dashboard

Risiko

Cache boleh menyebabkan data stale sehingga 60s. Acceptable untuk dashboard analitik.

Acceptance Criteria

Dashboard load <2 saat pada standard network (hasil lighthouse >85)
N+1 query dihapuskan (query count <10 setiap page load)
API response time <500ms untuk semua endpoint dashboard
Tiada regresi pada widget lain (test E2E pass)

💻 Draft Code — Optimasi Query

dashboard/service.py📋 Copy
# Sebelum: N+1 query - lambat
# for user in users:
#     user.orders = db.query(Order).filter_by(user_id=user.id).all()

# Selepas: single query + cache
@cache.cached(ttl=60, key_prefix="dashboard_stats")
def get_dashboard_stats():
    stats = (
        db.query(
            func.count(User.id).label("total_users"),
            func.coalesce(func.sum(Order.total), 0).label("revenue"),
        )
        .select_from(User)
        .outerjoin(Order)
        .first()
    )
    return asdict(stats)

📜 History & Timeline

🌟
Aina (User)
9:42 AM
"Dashboard slow, loading lama sangat" + screenshot
🤖
Bifrost AI
9:42 AM
Clarification: 3 soalan dijawab (page, bila, error)
🔍
Bifrost Research
9:43 AM
Dijumpai: 2 isu GitHub serupa + 1 tutorial YouTube berkenaan N+1 query
🎫
Bifrost AI
9:44 AM
Ticket BIF-1042 dijana: PRD + AC + draft code + test cases