Hi there! Hôm nay chúng ta cùng thảo luận về chủ đề làm sao để cải thiện hiệu suất APIs hiệu quả.
1. Ghi Log
Là một trong những chức năng cốt lõi của một ứng dụng, ghi lại thông tin hỗ trợ tối ưu hiệu suất và khắc phục sự cố.
2. Cached
Phương án dễ nhất là sử dụng cache qua: Redis vs Memcached
Client -> data -> cache(if not) -> dbs
3. Lập trình không đồng bộ
Sử dụng nhiều tác vụ xử lý trong 1 process.
Client -> server -> task chính -> nhiều task phụ
Thường được triển khai thông qua thread, message queue, event pub sub,...
4. N+1
Xử lý các trường hợp N+1 query trong database, sử dụng in hoặc join để tối ưu gọi xuống db nhiều trong 1 tiến trình hoặc tạo các temporary table(views) xử lý trước (đánh đổi giữa thời gian và không gian)
5. Pool connection
Tùy theo framework/package để thiết lập 1 pool connection nhiều process sử dụng chung pool connection truy cập đến database
6. Payload JSON
Giảm bớt payload request đến server(bớt số lượng tham số càng ít càng tốt, định dạng file có thể nén lại gửi đến server)
7. Pagination
Thêm các param để lấy data phân trang cho các API trả kết quả dạng list data như:(page, per_page) hoặc (offset, limit),...
That's it! Happy reading and happy coding!
Top comments (0)