我的服务器有问题。它是一个 CentOS RedHat Linux 服务器并运行“Dashing”一个基于 Ruby/Sinatra 的仪表板。
我正在尝试关闭我的 MySQL 数据库“SHOW PROCESSLIST;”定义的活动连接
Example.rb 文件
require 'mysql2'
SCHEDULER.every '10s'do
db = Mysql.new('host_name', 'database_name', 'password', 'table')
mysql1 = "SELECT `VAR` from `TABLE` ORDER BY `VAR` DESC LIMIT 1"
result1 = db.query(mysql1)
result1.each do |row|
strrow1 = row[0]
$num1 = strrow1.to_i
end
...
db.close
LINK[0] = { label: 'LABEL', value: $num1}
...
send_event('LABEL FOR HTML', { items: LINK.values })
end
但是,来回点击几下后,很明显数据库并没有丢弃连接,而是保留了它们。这会导致浏览器速度减慢到无法加载页面的程度,并且日志输出如下:
"max_user_connections" reached
谁能想到解决这个问题的方法?