Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Sự cố nhóm kết nối

Dưới đây là luồng sự kiện để minh họa những gì đang xảy ra:

  1. Người gọi yêu cầu và sử dụng kết nối (ứng dụng hoặc nhóm kết nối)
  2. Người gọi giữ một tham chiếu đến nó để có thể sử dụng lại kết nối
  3. Người gọi trải qua một khoảng thời gian không hoạt động (ví dụ:hệ thống nhà phát triển qua đêm hoặc hệ thống QA vào cuối tuần).
  4. Khi kết nối cơ sở dữ liệu đó không được sử dụng, cơ sở dữ liệu sẽ coi kết nối là không hoạt động. Bởi vì nó không hoạt động, sau một khoảng thời gian nhất định (mặc định của MySQL là 8 giờ) cơ sở dữ liệu sẽ đóng kết nối.
  5. Người gọi vẫn có khả năng xử lý kết nối và khi người gọi cố gắng sử dụng lại kết nối, họ bất ngờ phát hiện ra rằng kết nối đã bị đóng.

Lý do autoReconnect =true hoạt động và nhóm kiểm tra tính hợp lệ của kết nối hoạt động là bạn đang hướng dẫn hệ thống gọi kiểm tra kết nối cho tình huống này và thử lại nếu tình huống này xảy ra.

Về việc liệu truy vấn xác thực có ảnh hưởng đến hiệu suất hay không:Về lý thuyết, nó đang sử dụng một kết nối để thực hiện điều gì đó. Trên thực tế, một cái gì đó quá tầm thường nên ảnh hưởng của nó là không đáng kể trong bối cảnh của toàn bộ hệ thống của bạn.

[CHỈNH SỬA]

Trong trường hợp này, Apache DBCP là nhóm kết nối được treo vào kết nối, nhưng bạn KHÔNG muốn DBCP đóng kết nối sau mỗi cuộc gọi. Điểm của nhóm kết nối là giữ một kết nối sẵn sàng cho cuộc gọi tiếp theo vì việc tạo kết nối rất tốn kém. Các đối tượng kết nối được duy trì bởi nhóm được hỗ trợ bởi các kết nối cơ sở dữ liệu thực tế và cơ sở dữ liệu là người đóng kết nối thực tế đó sau khoảng thời gian chờ nhàn rỗi. Lưu ý rằng thời gian chờ để đóng các kết nối không hoạt động được cấu hình trên cơ sở dữ liệu, không phải trên nhóm kết nối. Do đó, DBCP không có cách nào để biết liệu kết nối đã bị đóng hay chưa trừ khi nó thực sự cố gắng kết nối với nó. Đó là lý do tại sao bạn cần một truy vấn xác thực.

Để biết thêm thông tin về cách định cấu hình DBCP, hãy xem trang cấu hình tài liệu API .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hiểu các chế độ xem trong SQL

  2. MySQL và MongoDB 1000 lần đọc

  3. Lỗi MySQL:Kích thước cột tối đa là 767 byte

  4. TẢI DỮ LIỆU ĐỊA PHƯƠNG INFILE php mysql

  5. JPA / Hibernate không thể tạo Thực thể được gọi là Đơn hàng