获取当前与数据库的活动连接

时间:2014-04-28 06:48:04

标签: mysql ruby ruby-on-rails-3

我正在尝试从rails服务器获取当前活动连接数到数据库。我有另一个java服务器,它也连接到同一个数据库

基本上我可以使用

从mysql获取当前与数据库的连接
SHOW STATUS like '%onnect%'

但这将是rails和java连接的组合。

如何才能从rails服务器获取连接,ActiveRecord::Base中是否有任何方法可以直接提供此信息(使用rails 3.2.17 / ruby​​ 2.1)

1 个答案:

答案 0 :(得分:0)

尝试

ActiveRecord::Base.connection_handler.connection_pool_list.map { |pool| pool.connections.length }.inject(:+)

对于rails-3,您应该尝试修补class ActiveRecord::ConnectionAdapters::ConnectionPool

class ActiveRecord::ConnectionAdapters::ConnectionPool
  attr_reader :connections
end

然后尝试:

ActiveRecord::Base.connection_handler.connection_pools.values.compact.map { |pool| pool.connections.length }.inject(:+)