...

Non Functional Requirement P1: "Cuộc chiến 2 giây của Shopee và bí mật đằng sau tốc độ thần thánh"

Cập nhật 14:45, 03/04/2025

1353 lượt xem

Admin

Hãy tưởng tượng bạn đang lướt Shopee vào ngày 11/11, tay sẵn sàng "chốt đơn" deal khủng. Đúng 0h, bạn nhấn vào trang chủ, và bam – mọi thứ hiện ra trong chưa đầy 2 giây, dù ngoài kia 10.000 người khác cũng đang "cày" như bạn. Nhưng bạn có bao giờ tự hỏi: Điều gì khiến hệ thống này nhanh như chớp, không "đơ" giữa cơn bão mua sắm?
Hôm nay mình sẽ kể bạn nghe câu chuyện về Performance – “hiệu suất”, nơi tốc độ không chỉ là con số, mà là vũ khí sống còn. Đây là thế giới mà những hệ thống lớn chiến đấu để làm bạn hài lòng.
1/ Đầu tiên: Shopee và trận chiến thời gian
- Đằng sau màn hình của bạn là một đội quân kỹ thuật đang căng mình đảm bảo trang web tải xong trong 2 giây, ngay cả khi 10.000 người cùng nhấn "refresh". Đây là Response Time – thời gian phản hồi, thước đo khắc nghiệt nhất của hiệu suất. Không chỉ vậy, hệ thống còn phải xử lý 500 yêu cầu tìm kiếm mỗi giây (Throughput) và chịu tải hàng chục nghìn người cùng lúc (Capacity).
- Bí mật? Họ dùng CDN – mạng phân phối nội dung – để ảnh sản phẩm "bay" đến bạn từ server gần nhất, cộng thêm hệ thống cache lưu sẵn những thứ bạn hay tìm như “áo thun giá rẻ”.
2/ Tiếp theo: Vietcombank và áp lực cuối tháng
Chuyển cảnh sang một buổi chiều cuối tháng, bạn mở Vietcombank Mobile để chuyển tiền lương. Nhấn "Gửi", và chưa đầy 2 giây sau, thông báo "Thành công" hiện lên. Điều kỳ diệu là hệ thống này xử lý 1.000 giao dịch mỗi phút mà không "ho" lấy một lần.
Mình đoán là dùng hệ thống phân tán – chia nhỏ công việc ra khắp các server – và cơ chế hàng đợi để không ai phải chờ quá 3 giây. Với 50.000 người đăng nhập cùng lúc, đây là minh chứng sống động rằng hiệu suất không chỉ là tốc độ, mà là sự ổn định dưới áp lực lớn.
3/ Cuối cùng là: Co.opmart và 0,5 giây định mệnh
Bây giờ, hãy đến siêu thị Co.opmart. Một nhân viên quét mã vạch chai nước mắm, và trong 0,5 giây, màn hình hiện lên: “Còn 10 chai”. Nhanh đến mức bạn không kịp chớp mắt! Hệ thống quản lý kho ở đây xử lý 200 truy vấn mỗi phút, phục vụ 50 nhân viên cùng lúc mà không “lag”.
Bí kíp nằm ở cơ sở dữ liệu được tối ưu hóa (indexed database) và server nội bộ – tất cả để bạn không phải chờ khi xếp hàng thanh toán.
4/ Bí kíp của mình khi làm Business Analyst
Hiệu suất không tự nhiên mà có – nó là kết quả của những tính toán chi tiết. Khi làm việc với Performance, mình luôn phải “đào sâu” để hiểu rõ nhu cầu.
  • Đầu tiên, mình hỏi thẳng: “Bạn muốn hệ thống phản hồi trong bao lâu? Bao nhiêu người dùng cùng lúc? Xử lý bao nhiêu giao dịch?” – những con số cụ thể như 2 giây hay 10.000 người là kim chỉ nam.
  • Sau đó, mình đề xuất cách kiểm tra – dùng stress test để “bắn phá” hệ thống xem nó chịu được không, hay load test để đo sức bền.
  • Cuối cùng, mình ngồi với đội kỹ thuật, đảm bảo họ hiểu từng chỉ số để thiết kế hệ thống “chạy mượt” đúng kỳ vọng. Ví dụ, mình từng yêu cầu một app đặt đồ ăn phải hiển thị danh sách nhà hàng trong 1 giây với 5.000 người dùng – Bạn tìm hiểu thêm về công cụ JMeter trên Youtube nhé. JMeter là một công cụ mã nguồn mở (open-source) được phát triển bởi Apache, dùng để kiểm tra hiệu suất (performance testing) và đo lường khả năng chịu tải (load testing) của các ứng dụng hoặc hệ thống.
5/ Bài học từ hậu trường
Hiệu suất là “nhịp tim” của mọi hệ thống lớn. Nó quyết định bạn có ở lại với Shopee hay bỏ đi vì "load" lâu, có nhận tiền đúng giờ từ Vietcombank hay không, và liệu Co.opmart có hết hàng mà không ai hay. Tốc độ chậm 1 giây thôi, doanh nghiệp có thể mất hàng triệu khách hàng!
Lần tới khi bạn lướt web hay quét mã vạch, hãy nhớ: Có cả một thế giới đang chạy đua để bạn không phải chờ đợi.

CÓ THỂ BẠN QUAN TÂM

ITBA

🔥 TẤT TẦN TẬT VỀ USE CASE

Trong quá trình phát triển phần mềm, việc nắm bắt và quản lý yêu cầu của hệ thống là một bước vô cùng quan trọng. Một trong những phương pháp phổ biến và hiệu quả để mô tả yêu cầu là Use Case. Vậy Use Case là gì? Vì sao IT Business Analyst (BA) và Product Owner (PO) cần hiểu rõ Use Case? Hãy cùng tìm hiểu chi tiết trong bài viết này.

ITBA

Sprint Planning Là Gì? Toàn Tập Về Buổi Lập Kế Hoạch Sprint Trong Scrum

Nếu Sprint Planning được tổ chức hiệu quả, nhóm sẽ có một Sprint backlog rõ ràng, tinh thần đồng thuận và định hướng công việc xuyên suốt. Ngược lại, một buổi lập kế hoạch kém chất lượng dễ dẫn đến sự mơ hồ, kỳ vọng sai lệch và giảm năng suất.

ITBA

🔥5 Kỹ Năng Để Trở Thành Một Product Owner Xuất Sắc

Một Product Owner giỏi chính là người “cầm lái” đưa sản phẩm từ ý tưởng ban đầu đến khi triển khai thành công ra thị trường. Nếu thiếu kỹ năng, PO dễ khiến dự án chậm tiến độ, backlog rối loạn và sản phẩm không đáp ứng đúng nhu cầu.

ITBA

🎉 BLACKLOG GROOMING - BÍ QUYẾT ĐỂ CẢI THIỆN SPRINT PLANNING

Bạn đã bao giờ rơi vào cảnh Sprint Planning kéo dài hàng giờ chỉ vì backlog quá lộn xộn, user story mơ hồ, hoặc cả đội nhóm tranh cãi mãi không đi đến kết luận?

Đăng kí nhận tư vấn

Hãy nhập ngay email của bạn vào form bên dưới để được nhận tư vấn trực tiếp từ trung tâm.