我正在尝试从rails服务器获取当前活动连接数到数据库。我有另一个java服务器,它也连接到同一个数据库
基本上我可以使用
从mysql获取当前与数据库的连接SHOW STATUS like '%onnect%'
但这将是rails和java连接的组合。
如何才能从rails服务器获取连接,ActiveRecord::Base
中是否有任何方法可以直接提供此信息(使用rails 3.2.17 / ruby 2.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(:+)