Website bắt đầu chờ lâu dù CPU cơ sở dữ liệu chưa cao. Một phản ứng thường gặp là tăng số kết nối; nhưng nếu ứng dụng đang giữ client không trả, giới hạn mới chỉ làm sự cố đến muộn hơn. Pool kết nối cần được xem như một tài nguyên có vòng mượn–trả và ngân sách chung, không phải một con số tăng càng nhiều càng tốt.
Đo thời gian chờ ở đúng cửa
Thời gian một request gồm nhiều đoạn: chờ lấy client, gửi truy vấn, chờ khóa trong cơ sở dữ liệu, nhận dữ liệu và xử lý kết quả. Nếu chỉ đo tổng, đội vận hành không biết đoạn nào đang kéo dài. Một truy vấn chạy nhanh sau khi có client vẫn có thể nằm sau hàng dài người chờ pool.
Ghi thời điểm bắt đầu mượn, lúc nhận client và lúc trả. Dùng mã truy vết được phép để nối các mốc; không đưa câu SQL có dữ liệu khách hàng hay mật khẩu vào dashboard. Cần xem cả số client đang dùng, rảnh và số yêu cầu chờ trong cùng cửa sổ thời gian. Tín hiệu ở một instance không đại diện cho toàn cụm.
Client phải trở về kể cả khi truy vấn lỗi
Tài liệu node-postgres về pooling yêu cầu trả client sau khi mượn thành công, dù truy vấn có lỗi. Đây là hành vi của thư viện được dẫn làm ví dụ; với stack khác, phải kiểm tài liệu driver và framework tương ứng. Một nhánh ném lỗi trước lệnh trả có thể giữ tài nguyên đến khi pool cạn.
Đặt trách nhiệm trả ở một ranh giới dễ kiểm, chẳng hạn khối bảo đảm dọn tài nguyên. Không để nhiều tầng đều nghĩ tầng khác sẽ trả. Với transaction, các câu lệnh cần dùng đúng client của transaction; không chuyển tùy ý sang client khác chỉ để giảm chờ. Khi driver báo kết nối không còn dùng được, xử lý theo hợp đồng của driver thay vì tái sử dụng một client hỏng.

Một pool nhỏ nhân nhiều instance vẫn thành ngân sách lớn
Ví dụ giả định: ba instance web, mỗi instance giới hạn tám client, tạo tối đa 24 client từ riêng lớp web. Tác vụ báo cáo, worker nền và công cụ quản trị còn dùng kết nối khác. Khi deploy có hai thế hệ instance cùng tồn tại, số kết nối tiềm năng có thể tăng trước khi thế hệ cũ thoát.
Phép tính này chỉ là mô hình ngân sách, không phải khuyến nghị chọn tám client hoặc số liệu của Onter. Giới hạn thật cần xét khả năng của cơ sở dữ liệu, truy vấn, mức song song và phần dự phòng đã thống nhất. Mở nhiều pool trong mỗi request làm phép tính sai từ gốc; cần biết mỗi tiến trình tạo bao nhiêu pool và chúng sống bao lâu.

| Quan sát | Giả thuyết cần kiểm | Bằng chứng tiếp theo |
|---|---|---|
| Client đang dùng không giảm sau lỗi | Nhánh không trả client | Đường lỗi và thời điểm release |
| Chờ pool tăng cùng thời gian truy vấn | Client bị giữ lâu | Truy vấn chậm hoặc chờ khóa |
| Mỗi instance bình thường, tổng vượt trần | Ngân sách cụm thiếu tác vụ nền | Sổ pool theo tiến trình |
Giảm thời gian giữ trước khi tăng trần
Không giữ transaction mở trong lúc gọi một API bên ngoài chậm nếu nghiệp vụ không thật sự cần. Tách việc tính toán không dùng cơ sở dữ liệu khỏi đoạn đang giữ client. Với truy vấn lấy lượng dữ liệu lớn, xem liệu ứng dụng có giữ client trong lúc chuyển đổi hoặc gửi kết quả quá lâu hay không; cách giải quyết phụ thuộc vào driver và tính nhất quán cần giữ.
Tăng trần có thể phù hợp sau khi chứng minh giới hạn hiện tại quá thấp và hệ thống đích chịu được tải. Nhưng nếu nút thắt là truy vấn chờ khóa, thêm client có thể chỉ thêm người chờ. Nên thay một yếu tố, giữ cùng dạng tải và so thời gian chờ pool, thời gian giữ cùng tỷ lệ lỗi. Không coi request hoàn tất nhiều hơn trong một mẫu ngắn là nghiệm thu toàn hệ thống.
Đầu ra của một lần điều tra nên đủ để người khác tiếp quản
Sổ pool cần tên tiến trình, số instance, giới hạn, owner tạo pool, đường mượn–trả và các nhánh lỗi đã xem. Ghi rõ ca nào mới là giả thuyết, ca nào có log hoặc lần chạy được phép. Một cảnh báo hữu ích chỉ ra pool nào và giai đoạn chờ nào tăng; cảnh báo “database chậm” quá rộng để quyết định.
Nếu việc đã gửi sang hệ thống ngoài rồi mất phản hồi, bài toán API timeout chưa rõ kết quả cần quy trình riêng; tăng pool không xác minh được tác động đó. Khi chuẩn bị thử tải, phạm vi và phân vị nghiệm thu giúp giữ cùng bài toán so sánh. Có thể trao đổi với Onter về phần mềm và tích hợp từ một cửa sổ số liệu đã che dữ liệu riêng, thay vì bắt đầu bằng yêu cầu nâng cấu hình.

