2016-06-14 6 views
1

knex에서 연결 풀이 작동하는 방식을 더 잘 이해하려고합니다.연결 풀 및 청구 시간별 인스턴스

앞으로는 시간당 MySQL 데이터 저장소로 PaaS에 응용 프로그램을 배포하고 싶습니다. 내 우려는 연결 풀 (예 : knex)을 사용하면 더 이상 필요하지 않은 데이터 저장소에 연결을 유지하게되어 인스턴스 시간이 필요하다는 것입니다.

따라서 내 질문은 : knex은 오랜 기간 동안 사용하지 않으면 풀에서 연결을 자동으로 제거합니까? 또한 연결 규모가 축소되지 않은 경우 풀의 모든 연결이 비활성 상태 인 미사용 인스턴스 시간에 대해 비용이 청구되지 않도록하려면 어떻게해야합니까?

자동 확장 기능이없는 경우 모든 연결이 비활성 상태 일 때 알 수 있도록 풀의 활성 연결에 액세스 할 수 있어야합니다. 불행히도, 나는 그것을 (어떻게 문서화에서 찾을 수 없었는지) 확실하지 않습니다.

답변

0

Knex는 Pool2를 풀링에 사용하며, 최소 연결 2 개가 기본으로 열려 있습니다 (knex.js pooling 참조). 따라서 이러한 기본값을 사용하면 걱정할 필요가 없습니다.

var knex = require('knex')({ 
    client: '<your driver, mysql?>', 
    connection: { <your connection parameters> }, 
    pool: { 
    min: 0 /* no connections if idle */, 
    idleTimeout: 10*1000 /* 10 secs idle connections are closed */ 
}}); 
:

동작을 변경하려면 같은 시도