Điểm nghẽn lấy data:
Block/page
Giảm lượng quét qua và lấy block của bảng đó trên disk nhỏ nhất có thể
Có thể dùng index, partition
tư duy của Partition là chia table ra cách phân vùng block khác nhau để lưu các data theo cách điều kiện cụ thể
I/O
Điểm nghẽn kết nối:
Cách hoạt động của một session:
Tạo kết nối mới tới PostgreSQL ⇒ Thiết lập kết nỗi (Xác thực) ⇒ Gửi và nhận DML/Select ⇒ Đóng kết nối
Nếu có quá nhiều kết nối tới Postgres Server → lãng phí tài nguyên và có thể tệ hơn là làm nghẽn và crash server (do việc khởi tạo nhiều session làm nghẽn I/O và Ram)
⇒ Áp dụng Connection Pool
Điểm nghẽn MVCC:
Note: Không được để vacuum chạy mặc định vì nếu chạy khi lượng truy cập đồng thời cao ⇒ Sẽ làm database chậm - ảnh hưởng tới người dùng
Tài Liệu này được Tham khảo anh Trần Quốc Huy: Link