Lộ trình Hiệu suất Backend

Hướng dẫn từng bước để trở thành một nhà phát triển Android.

Quay lại trang chủ

Chú giải

Đề xuất
Lựa chọn thay thế
Tùy chọn

1Bộ nhớ đệm

Sử dụng các mẫu bộ nhớ đệm cache-aside, write-through, hoặc read-through.
Sử dụng chiến lược vô hiệu hóa bộ nhớ đệm phù hợp.
Triển khai bộ nhớ đệm ở các cấp độ khác nhau.
Sử dụng các cơ chế bộ nhớ đệm (HTTP, Server/Client, CDN).

2Cơ sở dữ liệu

Sử dụng connection pooling để giảm chi phí kết nối.
Triển khai phân trang hiệu quả cho các tập dữ liệu lớn.
Tạo các chỉ mục cơ sở dữ liệu hiệu quả.
Tránh các truy vấn SELECT *; chỉ lấy các cột cần thiết.
Tối ưu hóa các thao tác JOIN và tránh các kết nối không cần thiết.
Thường xuyên dọn dẹp dữ liệu không sử dụng và thực hiện bảo trì.
Bật ghi nhật ký truy vấn chậm và theo dõi nó.
Thiết lập sao chép cơ sở dữ liệu để dự phòng.
Sử dụng phân mảnh DB nếu cần thiết.
Xem xét phi chuẩn hóa lược đồ cho khối lượng công việc đọc nhiều.
Sử dụng các công cụ phân tích do cơ sở dữ liệu cung cấp.
Theo dõi và tinh chỉnh các truy vấn ORM.
Sử dụng tải lười biếng, tải háo hức, xử lý hàng loạt.

3Bảo mật

Luôn cập nhật các dependency.
Triển khai điều chỉnh và giới hạn tỷ lệ yêu cầu.
Thực thi giới hạn kích thước payload hợp lý.
Thường xuyên kiểm tra và cập nhật các biện pháp bảo mật.
Triển khai xác thực và ủy quyền phù hợp.

4Tối ưu hóa phản hồi API

Bật nén cho các phản hồi.
Triển khai phân trang hiệu quả cho các tập dữ liệu lớn.
Triển khai truyền phát các yêu cầu/phản hồi lớn.
Tìm nạp trước hoặc tải trước tài nguyên/dữ liệu cho các yêu cầu tiếp theo.

5Bất đồng bộ

Chuyển các tác vụ nặng sang các công việc nền hoặc hàng đợi.
Sử dụng các trình môi giới tin nhắn để giao tiếp bất đồng bộ.
Giảm thiểu việc xử lý không cần thiết hoặc tính toán tốn kém.
Sử dụng các cơ chế ghi nhật ký bất đồng bộ.
Gộp các yêu cầu tương tự lại với nhau để giảm các chuyến đi khứ hồi.

6Cân bằng tải & Mở rộng

Sử dụng mở rộng theo chiều ngang hoặc chiều dọc khi thích hợp.
Sử dụng cân bằng tải để phân phối lưu lượng truy cập trên các máy chủ.

7Tối ưu hóa mã

Phân tích mã để xác định các điểm nghẽn hiệu suất.
Tối ưu hóa các thuật toán và cấu trúc dữ liệu.
Xác định và tối ưu hóa các đường dẫn quan trọng hoặc các điểm cuối được truy cập thường xuyên.
Xem xét các ngôn ngữ biên dịch (Go, Rust) cho các phần quan trọng về hiệu suất.
Xem xét SOA hoặc các microservice nếu cần.

8Mạng

Giảm thiểu độ trễ mạng bằng cách lưu trữ backend gần người dùng.
Sử dụng CDN cho các tài sản tĩnh và thường xuyên được truy cập.
Sử dụng HTTP keep-alive để giảm chi phí kết nối.
Tinh chỉnh cài đặt nhóm kết nối.
Đặt thời gian chờ kết nối phù hợp và các cơ chế thử lại hiệu quả.

9Giám sát và Ghi nhật ký

Triển khai giám sát và ghi nhật ký toàn diện.
Theo dõi các chỉ số hiệu suất và khắc phục sự cố.
Sử dụng các công cụ như Prometheus, Grafana, ELK stack.

10Kiểm thử hiệu suất

Tiến hành kiểm thử hiệu suất và đo điểm chuẩn thường xuyên.
Xác định các hồi quy, theo dõi các cải tiến, tinh chỉnh tối ưu hóa theo thời gian.