Docs 菜单
Docs 主页
/ / /
Rust 驱动程序
/ /

连接监控/池化(Pooling)

在此页面上

  • Overview
  • 事件描述
  • 事件监控示例
  • 示例事件文档
  • PoolCreatedEvent
  • PoolReadyEvent
  • PoolClearedEvent
  • PoolClosedEvent
  • ConnectionCreatedEvent
  • ConnectionReadyEvent
  • ConnectionClosedEvent
  • ConnectionCheckOutStartedEvent
  • ConnectionCheckOutFailedEvent
  • ConnectionCheckedOutEvent
  • ConnectionCheckedInEvent
  • 更多信息
  • API 文档

本指南向您展示如何使用 Rust 驱动程序来监控驱动程序的连接池。 连接池是驱动程序与 MongoDB 实例维护的一组开放式传输控制协议 (TCP) 连接。 连接池有助于减少应用程序需要创建的新连接数量,这可能会提高应用程序的运行速度。

您可以使用有关应用程序中连接池变更的信息,也可以监控连接池以了解有关驱动程序如何使用连接的更多信息。

本指南包括以下部分:

  • 事件描述描述了驾驶员可以生成的连接池事件。

  • 事件订阅示例提供了示例代码,演示如何订阅连接池事件。

  • 事件文档示例提供了每个连接池事件的示例。

  • 其他信息提供了指向本指南中提及的类型和方法的资源和API文档的链接。

您可以监控以下连接池事件:

事件名称
说明
在创建连接池时创建。
当连接池准备就绪时创建。
当连接池被清除时创建。
在销毁服务器实例之前关闭连接池时创建。
在创建连接时创建,但不一定是在用于操作时创建。
在连接成功完成握手并准备好用于操作后创建。
在连接关闭时创建。
当操作尝试获取用于执行的连接时创建。
当操作无法获取用于执行的连接时创建。
当操作成功获取用于执行的连接时创建。
在执行操作后,当连接被检回连接池时创建。

您可以通过将 EventHandler实例分配为cmap_event_handler客户端选项的值来监控连接池事件。 要构造处理所有连接池事件的EventHandler ,请使用callback()async_callback()方法。

以下示例连接到MongoDB 部署,指示客户端监控连接池事件,并打印每个事件:

let mut client_options = ClientOptions::parse("<connection string>").await?;
client_options.cmap_event_handler = Some(EventHandler::callback(|ev| println!("{:?}", ev)));
let client = Client::with_options(client_options)?;
// ... perform actions with the client to generate events

以下几节显示了每种类型的连接池监控事件的样本输出。

PoolCreatedEvent {
address: ...,
options: {...}
}
PoolReadyEvent {
address: ...
}
PoolClearedEvent {
address: ...,
service_id: ...,
}
PoolClosedEvent {
address: ...
}
ConnectionCreatedEvent {
address: ...,
connection_id: 1
}
ConnectionReadyEvent {
address: ...,
connection_id: 1
}
ConnectionClosedEvent {
address: ...,
connection_id: 1,
reason: ...,
/* private fields */
}
ConnectionCheckOutStartedEvent {
address: ...,
}
ConnectionCheckOutFailedEvent {
address: ...,
reason: ...,
/* private fields */
}
ConnectionCheckedOutEvent {
address: ...,
connection_id: 1
}
ConnectionCheckedInEvent {
address: ...,
connection_id: 1
}

要了解有关监控 MongoDB 部署的更多信息,请参阅如何监控 MongoDB一文。

要学习;了解有关连接到MongoDB的更多信息,请参阅连接指南。

要了解有关提高应用程序性能的更多信息,请参阅性能注意事项指南。

要进一步了解本指南所提及的方法和类型,请参阅以下 API 文档:

后退

命令监控