Pri*_*shj 6 mysql connection-pooling sqlalchemy
我有一种情况是sqlalchemy由于高流量负载而不时地耗尽活动连接,我想运行一些测试来验证和优化每个用例的池参数.但是,我找不到一种简单的轮询活动连接计数的方法.
目前的设置是在线:
args = ...
mapping = {
'pool_size': 10,
'max_overflow': 10,
'pool_timeout': 30,
'pool_recycle': 1800
}
engine = sqlalchemy.create_engine(*args, **mapping)
Run Code Online (Sandbox Code Playgroud)
MySQL服务器上的最大连接数设置为200,大约有20个Web服务器和芹菜盒连接到它.
默认情况下QueuePool有一个返回以下内容的status方法:
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())
Run Code Online (Sandbox Code Playgroud)
Pool.checkedout() 将返回已签出连接的数量.
| 归档时间: |
|
| 查看次数: |
2941 次 |
| 最近记录: |