Thứ ba, 22/10/2024 Ngọc Hân
Hiệu suất web dịch vụ
1. Phát Hiện Lỗi.
- 20:32 - 13/10/2024 nhận được thông báo lỗi từ Phòng sản phẩm, Phòng vận hành về vấn đề hiệu suất website: Đăng nhập, Gửi OTP, Lấy dữ liệu từ API chậm, rất lâu mới có phản hồi (Thời gian phản hồi từ 30 giây ~ 1 phút).
2. Phạm vi ảnh hưởng
- Toàn bộ các chức năng trên website đều bị ảnh hưởng.
3. Nguyên Nhân
- Có 2 nguyên nhân chính dẫn đến bug Hiệu suất website:
- Client (Frontend) gửi quá nhiều request api thừa trong khi không sử dụng đến.
- Server (Backend - API) chưa tối ưu sử dụng cache dữ liệu mà query trực tiếp vào database để lấy mỗi khi có request từ client gửi lên dẫn đến database bị quá tải.
4. Phương án xử lý
- Phương án khắc phục theo từng nguyên nhân gây ra bug:
- Phía Client (Frontend):
+ Loại bỏ toàn bộ các request api thừa không sử dụng khi truy cập trong các trang.
+ Thực hiện cache dữ liệu ít thay đổi từ API vào localStorage của trình duyệt (browser) để tái sử dụng cho lần truy cập tiếp theo của user nhằm hạn chế gửi nhiều request lên server.
+ Tối ưu nén các file ảnh, js, css ở mức thấp nhất có thể
- Phía Server (Backend - API):
+ Sau khi lấy dữ liệu từ database, các dữ liệu không yêu cầu ở mức realtime phải đưa vào redis để cache lại => Mục đích các request api tiếp theo sẽ truy cập vào redis để lấy dữ liệu thay vì query trực tiếp vào database giúp giảm tải cho database
5. Bài học rút ra
- Cần có các bài test về hiệu suất của Website, API
- Thường xuyên theo dõi, kiểm tra website dịch vụ để phát hiện bất thường và xử lý (nếu có).