Slick3.1.1
+ HikariCP2.5.1
을 사용하여 AWS t2.medium
MySql 인스턴스에 연결합니다. AWS 문서에 따르면 t2.medium
에는 최대 연결 수가 312 개가 될 수 있습니다. 내 구성 파일은 다음과 같습니다Slick/HikariCP가 시간 초과 대신 "연결이 너무 많음"
17:05:40.708 DEBUG [] [rdsConfig connection adder] com.zaxxer.hikari.pool.HikariPool - rdsConfig - Cannot acquire connection from data source
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Too many connections
at sun.reflect.GeneratedConstructorAccessor59.newInstance(Unknown Source) ~[na:na]
...
내가 이것에 대해 혼란 스러워요 :
rdsConfig = {
url = "jdbc:mysql://mydb.........us-west-2.rds.amazonaws.com:3306/owlschema"
driver = "com.mysql.jdbc.Driver"
connectionPool = HikariCP
maxConnections = 222 # <<<<< ie make this < 312.
keepAliveConnection = true
properties = {
user = "me"
password = "mydarksecret"
}
numThreads = 40
}
내가 '너무 많은 연결'오류를 받기 시작 무거운 부하와 충돌합니다. 문서에서 필자는 AWS 제한을 초과하지 않는 지정된 222 개 이상의 연결을 얻으 려하지 않아야한다고 생각했습니다. 나는 무거운 짐을 당하면서 타임 아웃을 기대했지만 '너무 많은 연결'오류는 없다. 그렇다면 maxConnections
은 무엇을합니까? 감사.
'minConnections'를'222'로 설정하면 즉시 발생합니까? (문제가 지정된 것보다 더 많은 연결을 예약하는 Slick 파트에 있는지 확인하십시오. MySQL이 예외를 한도를 훨씬 밑도는 예외가 아닙니다.) –
즉시 발생하지 않습니다. 로그는 연결을 하나씩 열어 줍니 다.로드가 너무 무겁지 않으면 문제가 발생하지 않습니다. 로드가 너무 높아서 연결이 너무 많이 열리는 경우에만 해당됩니다. – thund
'minConnections = 222'를 설정했다는 것을 의미합니까? –