我有一种情况,由于高流量负载,sqlalchemy 会不时地耗尽事件连接,我想运行一些测试来验证和优化每个用例的池参数。但是,我找不到一种直接轮询事件连接数的方法。
当前设置在线:
args = ...
mapping = {
'pool_size': 10,
'max_overflow': 10,
'pool_timeout': 30,
'pool_recycle': 1800
}
engine = sqlalchemy.create_engine(*args, **mapping)
MySQL 服务器上的最大连接数设置为 200,共有大约 20 个 Web 服务器和 celery boxes 连接到它。
最佳答案
默认的 QueuePool
有一个 status
方法 returns the following :
def status(self):
return "Pool size: %d Connections in pool: %d "\
"Current Overflow: %d Current Checked out "\
"connections: %d" % (self.size(),
self.checkedin(),
self.overflow(),
self.checkedout())
Pool.checkedout()
将返回 checkout 的连接数。
关于mysql - 我如何在任何给定时间检查池中事件的 sqlalchemy 连接数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34775501/