Hiệu năng & vận hành
Con số hệ thống phải đạt: tải, thời gian phản hồi, uptime, chạy offline; cách giám sát, sao lưu, phát hành và trực hỗ trợ trong sự kiện.
Giả định tải
| Kịch bản | Ví dụ | Người chơi đồng thời đỉnh | Phiên bắt đầu / giây đỉnh |
| Activation offline | 20 điểm cùng ngày, mỗi điểm 2–4 kiosk + điện thoại quét QR | 300 | 10 |
| Campaign online thường | Banner trên website, Zalo OA | 2.000 | 50 |
| Campaign online lớn | Push Hi FPT / FPT Play tới toàn bộ người dùng, Tết, giờ vàng có giải lớn | 20.000 | 500 |
| Phòng chơi nhiều người | TV sự kiện + điện thoại quét QR | 200 phòng × 10 người | — |
Cần số thậtFCM/App: số người dùng hoạt động Hi FPT, FPT Play, Zalo OA; tỉ lệ bấm push lịch sử; số campaign lớn chạy cùng lúc tối đa. Các mục dưới thiết kế cho kịch bản "Campaign online lớn".
Thời gian phản hồi & tải trang
| Mã | Hạng mục | Ngưỡng | Đo ở |
| BR-VH-01 | API người chơi (lấy lượt, bắt đầu phiên, gửi kết quả) | ≤ 300 ms ở p95, ≤ 1 s ở p99, tại tải đỉnh | Server |
| BR-VH-02 | Quay thưởng + cấp phát (từ kết thúc phiên tới màn kết quả) | ≤ 1 s ở p95; quà digital theo mục tiêu ở Kho quà | Server |
| BR-VH-03 | Gửi OTP tới khi máy nhận | ≤ 15 s ở p95 | Đo mẫu theo nhà mạng |
| BR-VH-04 | Độ trễ đồng bộ chế độ 2 người / nhiều người | ≤ 150 ms ở p95 cùng vùng mạng; > 300 ms cảnh báo nhân sự (theo design) | Client — cơ chế ở Chế độ chơi |
| BR-VH-05 | Màn game chơi được trên 4G (lần đầu, không cache) | ≤ 3 s ở p75; ≤ 5 s ở p95 | Điện thoại tham chiếu, mạng 4G giả lập 10 Mbps / 100 ms |
| BR-VH-06 | Dung lượng tải lần đầu một game (web) | ≤ 2 MB nén; ảnh WebP; font subset | Build |
| BR-VH-07 | Gói Zalo Mini App | Dưới giới hạn Zalo giới hạn hiện hành của Zalo; mục tiêu ≤ 3 MB, asset game lớn tải sau từ CDN | Build — Zalo Mini App |
| BR-VH-08 | Khung hình khi chơi | ≥ 30 FPS trên điện thoại tham chiếu; game webcam < 24 FPS thì tự giảm vật phẩm (theo design) | Client |
| BR-VH-09 | Trang quản trị (danh sách, dashboard) | ≤ 2 s ở p95 với campaign 1 triệu phiên | Trình duyệt desktop |
| BR-VH-10 | Xuất file (lead, báo cáo) | 100.000 dòng ≤ 2 phút, chạy nền, báo khi xong | Server |
Điện thoại tham chiếu : Android tầm trung 3 GB RAM ra mắt ≤ 3 năm (vd. Samsung Galaxy A-series) và iPhone 11.
Sẵn sàng & chịu lỗi
| Mã | Yêu cầu | Ngưỡng |
| BR-VH-11 | Uptime API người chơi | ≥ 99,5%/tháng; ≥ 99,9% trong khung giờ campaign lớn đã đăng ký |
| BR-VH-12 | Uptime trang quản trị | ≥ 99%/tháng |
| BR-VH-13 | Bảo trì có kế hoạch | Ngoài 8:00–22:00 ; không trùng campaign đang chạy; báo trước 48 giờ |
| BR-VH-14 | Quá tải: không làm sai kho quà — thà từ chối phiên mới hơn cấp vượt tồn | Trả "Đông người chơi, thử lại sau 30 giây" thay vì lỗi |
| BR-VH-15 | Dịch vụ ngoài lỗi (SMS, ZNS, voucher API, CRM) không làm dừng game | Xếp hàng gửi lại; cách xử lý theo Hệ thống ngoài |
| BR-VH-16 | Hệ thống tự giãn khi tải tăng | Lên đủ năng lực kịch bản đỉnh trong ≤ 5 phút; hoặc giãn sẵn trước giờ campaign lớn |
Kiosk offline — con số
Nghiệp vụ (hạn mức quà offline, xung đột, hiển thị trạng thái đồng bộ) ở Activation offline. Trang này chỉ đặt ngưỡng.
| Mã | Hạng mục | Ngưỡng |
| BR-VH-17 | Thời gian chạy liên tục không mạng | ≥ 14 giờ (trọn một ngày sự kiện 8:00–21:00 + dự phòng) |
| BR-VH-18 | Số phiên lưu được trên máy khi offline | ≥ 5.000 phiên kèm lead và bằng chứng đồng ý |
| BR-VH-19 | Bắt đầu đồng bộ sau khi có mạng | ≤ 30 giây |
| BR-VH-20 | Đồng bộ xong 1.000 phiên | ≤ 2 phút trên 4G |
| BR-VH-21 | Mất dữ liệu khi mất điện/tắt máy đột ngột | 0 phiên đã hiện kết quả |
| BR-VH-22 | Tỉ lệ bản ghi đồng bộ cần xử lý tay (xung đột) | ≤ 0,5% |
| BR-VH-23 | Cảnh báo kiosk chưa đồng bộ | Thiết bị offline > 2 giờ trong giờ chạy → cảnh báo Quản lý campaign |
Giám sát & cảnh báo
| Chỉ số | Ngưỡng cảnh báo | Mức | Gửi ai |
| Tỉ lệ lỗi API người chơi (5xx) | > 1% trong 5 phút | P1 | Trực kỹ thuật |
| p95 API người chơi | > 2 lần ngưỡng BR-VH-01 trong 5 phút | P2 | Trực kỹ thuật |
| Tỉ lệ gửi OTP thất bại | > 5% trong 10 phút | P1 | Trực kỹ thuật |
| Cấp phát kẹt "Đang giữ" | > 50 bản ghi quá 5 phút | P2 | Trực kỹ thuật, Quản lý kho quà |
| Kiosk mất kết nối | Theo BR-VH-23 | P3 | Quản lý campaign |
| Tồn quà thấp | Theo BR-QUA-07 ở Kho quà | P3 | Như quy tắc đó |
| Bất thường gian lận | Theo Chống gian lận | P2 | Quản lý campaign |
| Dung lượng DB, CPU, bộ nhớ | > 80% trong 10 phút | P2 | Trực kỹ thuật |
| Mức | Ý nghĩa | Phản hồi | Khắc phục / giải pháp tạm |
| P1 | Người chơi không chơi được / quà cấp sai | 15 phút, 24/7 trong giờ campaign | 2 giờ |
| P2 | Chậm, một phần tính năng lỗi | 1 giờ | 1 ngày làm việc |
| P3 | Ảnh hưởng nhỏ, có cách vòng | 1 ngày làm việc | Bản phát hành kế tiếp |
Kênh cảnh báo: IT chọn công cụ (Zalo group, Telegram, email, PagerDuty…) và nhóm nhận. Dashboard kỹ thuật tách khỏi Báo cáo nghiệp vụ.
Sao lưu & khôi phục
| Mã | Dữ liệu | RPO (mất tối đa) | RTO (khôi phục trong) | Giữ bản sao lưu |
| BR-VH-24 | Kho quà, cấp phát, lượt trúng, bằng chứng đồng ý | ≤ 5 phút | ≤ 2 giờ | 35 ngày |
| BR-VH-25 | Người chơi, phiên chơi, cấu hình campaign/game | ≤ 15 phút | ≤ 4 giờ | 35 ngày |
| BR-VH-26 | Asset game, ảnh quà | Theo lần tải lên | ≤ 4 giờ | Như dữ liệu |
- Bản sao lưu mã hoá, đặt khác vùng/khác trung tâm dữ liệu với bản chính ; quy tắc dữ liệu cá nhân trong bản sao lưu ở Dữ liệu cá nhân (BR-DL-20).
- Diễn tập khôi phục mỗi quý và trước campaign lớn đầu tiên; ghi thời gian khôi phục thực tế.
Môi trường & phát hành
| Môi trường | Dùng cho | Dữ liệu | Kết nối ngoài |
| dev | Phát triển | Giả | Giả lập (OTP in ra log) |
| staging | QA, UAT, kiểm thử tải, FCM duyệt game trước campaign | Giả, không dùng dữ liệu thật | Sandbox Zalo, SMS gửi tới danh sách SĐT test |
| prod | Chạy thật | Thật | Thật |
| Mã | Yêu cầu |
| BR-VH-27 | Mọi bản phát hành qua staging và được QA ký trước khi lên prod |
| BR-VH-28 | Đóng băng phát hành 48 giờ trước và trong suốt campaign lớn; chỉ sửa lỗi P1 |
| BR-VH-29 | Quay lui bản trước trong ≤ 15 phút |
| BR-VH-30 | Phát hành không gián đoạn người đang chơi: phiên đã bắt đầu chạy hết trên bản cũ. Campaign gắn phiên bản game cố định — theo Quản lý game |
| BR-VH-31 | Zalo Mini App phải gửi duyệt sớm hơn ngày ra mắt ≥ 5 ngày làm việc (thời gian kiểm duyệt Zalo) |
| BR-VH-32 | Bản cài kiosk cập nhật được từ xa khi có mạng, không cần người ra điểm; kiosk đang có phiên chưa đồng bộ không cập nhật |
Kiểm thử tải trước campaign lớn
- Quản lý campaign đăng ký campaign lớn (dự kiến > 5.000 người đồng thời) trước 10 ngày làm việc, kèm giờ đỉnh dự kiến.
- Kỹ thuật chạy kiểm thử tải trên staging cấu hình như prod: 2 lần đỉnh dự kiến, giữ 30 phút, đúng game và cơ cấu giải của campaign.
- Đạt khi: BR-VH-01, BR-VH-02 đạt; lỗi < 0,1%; số quà cấp = số lượt trúng, không vượt tồn.
- Không đạt → tối ưu và chạy lại, hoặc đề xuất dời/giãn giờ (vd. chia khung giờ vàng).
- Kết quả lưu vào hồ sơ campaign; thiếu kết quả đạt thì không chuyển "Đã duyệt" — xem Campaign.
Hỗ trợ vận hành trong sự kiện
| Việc | Ai | Khi nào |
| Kiểm tra thiết bị theo checklist (mạng, đồng bộ, hạn mức quà, giờ máy, máy quét QR) | Nhân viên booth | 60 phút trước giờ mở |
| Trực kỹ thuật (online, nhận P1/P2) | Đội kỹ thuật | Suốt giờ chạy campaign lớn và sự kiện có > 5 điểm cùng ngày |
| Trực nghiệp vụ (xử lý cảnh báo gian lận, khiếu nại quà) | Quản lý campaign | Suốt giờ chạy |
| Báo sự cố từ điểm | Nhân viên booth | Ngay khi gặp — kênh: hotline nội bộ / nhóm Zalo / nút "Báo sự cố" trên app booth |
| Phương án dự phòng tại điểm | Nhân viên booth | Kiosk hỏng: chuyển sang iPad dự phòng hoặc chơi trên điện thoại người chơi qua QR |
| Tổng kết sự cố | PM + kỹ thuật | ≤ 2 ngày làm việc sau P1 |
Trình duyệt & thiết bị hỗ trợ
| Kênh | Tối thiểu |
| Mobile web | iOS Safari 15+; Chrome Android 2 phiên bản gần nhất trên Android 9+ |
| Desktop web | Chrome, Edge, Safari, Firefox — 2 phiên bản gần nhất; màn ≥ 1280 px |
| Webview app FPT | Theo phiên bản app Hi FPT / FPT Play còn hỗ trợ đội app cung cấp phiên bản tối thiểu |
| Zalo Mini App | Phiên bản Zalo còn hỗ trợ Mini App xác nhận với Zalo |
| Kiosk | Màn cảm ứng 32–55" đứng 1080×1920; IT chọn hệ điều hành và cấu hình máy (Android kiosk hay Windows), dung lượng lưu offline |
| TV + webcam (game 3, 5, 10) | Theo cấu hình từng game ở 10 game mẫu (TV ≥ 55", webcam 1080p, máy có GPU) |
| Trang quản trị | Chrome, Edge desktop 2 phiên bản gần nhất; màn quét trao quà chạy trên điện thoại/iPad của nhân viên booth |
Ngoài danh sách trên: hiện thông báo "Trình duyệt chưa hỗ trợ" kèm cách mở bằng trình duyệt khác, không chặn cứng .
Tiêu chí nghiệm thu
AC-VH-01Cho staging cấu hình như prod, khi chạy 20.000 người chơi đồng thời và 500 phiên/giây trong 30 phút, thì API người chơi p95 ≤ 300 ms, lỗi < 0,1%, và số cấp phát không vượt tồn.
AC-VH-02Cho điện thoại tham chiếu, mạng 4G giả lập 10 Mbps / 100 ms, xoá cache, khi mở link game, thì màn chơi tương tác được trong 3 giây ở p75 qua 20 lần đo.
AC-VH-03Cho kiosk ngắt mạng 14 giờ và chơi 5.000 phiên, khi có mạng lại, thì đồng bộ bắt đầu trong 30 giây và không mất phiên nào.
AC-VH-04Cho kiosk bị rút điện ngay sau màn kết quả, khi bật lại, thì phiên đó vẫn còn và được đồng bộ.
AC-VH-05Cho tỉ lệ lỗi 5xx vượt 1% trong 5 phút, thì trực kỹ thuật nhận cảnh báo P1 trong 5 phút.
AC-VH-06Cho diễn tập khôi phục từ bản sao lưu, thì dữ liệu cấp phát mất không quá 5 phút và hệ thống chạy lại trong 2 giờ.
AC-VH-07Cho bản phát hành lỗi trên prod, khi quay lui, thì bản trước chạy lại trong 15 phút và phiên đang chơi không bị mất.
AC-VH-08Cho build Zalo Mini App, thì gói ≤ 3 MB và qua kiểm tra dung lượng của Zalo.
Câu hỏi mở
| # | Câu hỏi | Hỏi ai | Hạn | Trả lời |
| Q-VH-01 | Đỉnh thật của campaign lớn: push Hi FPT gửi bao nhiêu người, tỉ lệ bấm bao nhiêu? | FCM / đội app | | |
| Q-VH-02 | Hạ tầng: FPT Cloud hay cloud khác? Có sẵn đội trực 24/7 không, hay phải thuê? | IT | | |
| Q-VH-03 | Kiosk dùng phần cứng nào, ai mua/thuê, có Wi-Fi/4G riêng cho booth không? | FCM / IT | | |
| Q-VH-04 | Kiểm thử tải có phải điều kiện bắt buộc để duyệt campaign lớn không (chạm quy trình duyệt ở Campaign)? | PM / FCM | | |
| Q-VH-05 | Ngân sách SMS/ZNS theo campaign — có trần chi phí để hệ thống tự dừng gửi không? | FCM / Tài chính | | |
Lịch sử thay đổi
| Bản | Ngày | Người sửa | Nội dung |
| 0.1 | 2026-11-11 | PM | Nháp khởi tạo |