Docs Menu
Docs Home
/ / /
Node.js
/ /

연결 풀 모니터링

이 페이지의 내용

  • 개요
  • 이벤트 구독 예시
  • 이벤트 설명
  • 이벤트 문서 예시
  • connectionPoolCreated
  • connectionPoolReady
  • connectionPoolClosed
  • connectionCreated 이벤트
  • connectionReady
  • 연결종료
  • connectionCheckOutStarted 이벤트
  • connectionCheckOutFailed
  • connectionCheckedOut
  • connectionCheckedIn
  • connectionPoolCleared

이 가이드에서는 드라이버의 연결 풀을 모니터링하는 방법을 보여 줍니다. 연결 풀은 드라이버가 MongoDB 인스턴스를 사용해 유지 관리하는 개방형 TCP 연결 집합입니다. 연결 풀은 애플리케이션이 수행해야 하는 네트워크 핸드셰이크 수를 줄이고 애플리케이션을 더 빠르게 실행하는 데 도움이 될 수 있습니다.

애플리케이션에서 연결 풀 이벤트를 기록해야 하거나 이러한 이벤트에서 제공되는 정보를 탐색하려면 이 가이드를 읽어보세요.

애플리케이션에서 드라이버를 구독하여 하나 이상의 연결 풀 이벤트에 액세스할 수 있습니다. 다음 예시에서는 복제본 세트에 연결하고 MongoDB deployment에 의해 생성된 연결 풀 모니터링 이벤트 중 하나를 구독하는 방법을 보여 줍니다.

const { MongoClient } = require("mongodb");
// Replace the following with your MongoDB deployment's connection
// string.
const uri =
"mongodb+srv://<clusterUrl>/?replicaSet=rs&writeConcern=majority";
const client = new MongoClient(uri);
// Replace <event name> with the name of the event you are subscribing to.
const eventName = "<event name>";
client.on(eventName, (event) =>
console.log("\nreceived event:\n", event)
);
async function run() {
try {
// Establish and verify connection
await client.db("admin").command({ ping: 1 });
console.log("\nConnected successfully!\n");
} finally {
// Ensures that the client will close when you finish/error
await client.close();
}
}
run().catch(console.dir);

다음 연결 풀 모니터링 이벤트 중 하나를 구독할 수 있습니다:

이벤트 이름
설명
connectionPoolCreated
연결 풀이 생성될 때 생성됩니다.
connectionPoolReady
연결 풀이 준비되면 생성됩니다.
connectionPoolClosed
서버 인스턴스가 파괴되기 전 연결 풀이 닫힐 때 생성됩니다.
connectionCreated
연결이 생성될 때 생성되지만 작업에 사용될 때 반드시 생성되지는 않습니다.
connectionReady
연결이 성공적으로 핸드셰이크를 완료하고 작업에 사용할 준비가 된 후에 생성됩니다.
connectionClosed
연결이 닫힐 때 생성됩니다.
connectionCheckOutStarted
작업이 실행을 위해 연결을 획득하려고 시도할 때 생성됩니다.
connectionCheckOutFailed
작업이 실행을 위한 연결을 획득하지 못할 때 생성됩니다.
connectionCheckedOut
작업이 실행을 위한 연결을 성공적으로 획득할 때 생성됩니다.
connectionCheckedIn
작업이 실행된 후 연결이 풀에 다시 체크인될 때 생성됩니다.
connectionPoolCleared
연결 풀이 비워질 때 생성됩니다.

다음 섹션에서는 각 유형의 연결 풀 모니터링 이벤트에 대한 샘플 출력을 보여줍니다.

ConnectionPoolCreatedEvent {
time: 2023-02-13T15:54:06.944Z,
address: '...',
options: {...}
}
ConnectionPoolReadyEvent {
time: 2023-02-13T15:56:38.440Z,
address: '...'
}
ConnectionPoolClosedEvent {
time: 2023-02-13T15:56:38.440Z,
address: '...'
}
ConnectionCreatedEvent {
time: 2023-02-13T15:56:38.291Z,
address: '...',
connectionId: 1
}
ConnectionReadyEvent {
time: 2023-02-13T15:56:38.291Z,
address: '...',
connectionId: 1
}
ConnectionClosedEvent {
time: 2023-02-13T15:56:38.439Z,
address: '...',
connectionId: 1,
reason: 'poolClosed',
serviceId: undefined
}
ConnectionCheckOutStartedEvent {
time: 2023-02-13T15:56:38.291Z,
address: '...',
}
ConnectionCheckOutFailedEvent {
time: 2023-02-13T15:56:38.291Z,
address: '...',
reason: ...
}
ConnectionCheckedOutEvent {
time: 2023-02-13T15:54:07.188Z,
address: '...',
connectionId: 1
}
ConnectionCheckedInEvent {
time: 2023-02-13T15:54:07.189Z,
address: '...',
connectionId: 1
}
ConnectionPoolClearedEvent {
time: 2023-02-13T15:56:38.439Z,
address: '...',
serviceId: undefined,
interruptInUseConnections: true,
}
← 명령 모니터링
GridFS. →