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

Kiểm tra tải Golang RESTful API gây ra quá nhiều kết nối cơ sở dữ liệu

Truy cập database/sql không ngăn cản bạn tạo vô số kết nối đến cơ sở dữ liệu. Nếu có một kết nối không hoạt động trong nhóm, nó sẽ được sử dụng, nếu không, một kết nối mới sẽ được tạo.

Vì vậy, khi tải, trình xử lý yêu cầu sql.DB của bạn có thể không tìm thấy kết nối rỗi và do đó một kết nối mới được tạo khi cần thiết. Điều này khuấy động các kết nối nhàn rỗi sử dụng bit khi có thể và tạo mới khi cần thiết-, cuối cùng đạt được kết nối tối đa cho Db. Và, thật không may, trong Go 1.1 không có cách nào thuận tiện (ví dụ: SetMaxOpenConns ) để hạn chế các kết nối đang mở.

Nâng cấp lên phiên bản Golang mới hơn. Trong Chuyển sang 1.2+ bạn nhận được SetMaxOpenConns . Và xem tài liệu MySql để bắt đầu cài đặt và sau đó điều chỉnh.

db.SetMaxOpenConns(100) //tune this

Nếu bạn phải sử dụng Go 1.1, bạn sẽ cần đảm bảo trong mã của mình rằng *sql.DB chỉ được sử dụng bởi N khách hàng tại một thời điểm.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Magento:Lời khuyên dự phòng

  2. Cách bao gồm một biến PHP bên trong một câu lệnh MySQL

  3. Kết nối từ xa với cơ sở dữ liệu MySQL

  4. Lược đồ cơ sở dữ liệu cho trò chuyện:riêng tư và nhóm

  5. Cơ sở dữ liệu SQL cho các thành viên gia đình có liên quan