Mysql
 sql >> база данни >  >> RDS >> Mysql

Golang RESTful API тестване на натоварване, което причинява твърде много връзки към базата данни

Отидете на database/sql не ви пречи да създадете безкраен брой връзки към базата данни. Ако има неактивна връзка в пула, тя ще бъде използвана, в противен случай се създава нова връзка.

Така че при натоварване вашите манипулатори на заявки sql.DB вероятно не намират неактивни връзки и така се създава нова връзка, когато е необходимо. Това води до малко - повторно използване на неактивни връзки, когато е възможно и създаване на нови, когато е необходимо -, в крайна сметка достигайки максималните връзки за Db. И, за съжаление, в Go 1.1 няма удобен начин (напр. SetMaxOpenConns ), за да ограничите отворените връзки.

Надстройте до по-нова версия на Golang. В Go 1.2+ получавате SetMaxOpenConns . И разгледайте MySql документите за начална настройка и след това настройте.

db.SetMaxOpenConns(100) //tune this

Ако трябва да използвате Go 1.1, ще трябва да гарантирате в кода си, че *sql.DB се използва само от N клиенти наведнъж.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. качете изображение в mysql база данни php

  2. Как мога да разбера дали свързаната база данни е MariaDB или MySQL?

  3. Как да стартирате MySQL сървър на Windows XP

  4. mysql подреждане по, null първо и DESC след

  5. ГРЕШКА 2002 (HY000):Не може да се свърже с локален MySQL сървър чрез сокет '/var/run/mysqld/mysqld.sock' (2)