背景: 我是 ruby on rails 的新手,我创建了一个从 mysql 数据库读取数据并使用破折号显示患者信息的应用程序。
问题: 每当我刷新仪表板页面超过 4 次时,我都会收到 ActiveRecord::ConnectionTimeoutError。我坚信连接不会关闭,如阅读 here .我尝试实现给出的解决方案,但收效甚微。
问题/请求:您能否向我解释为消除此错误必须执行的操作?
感谢您的帮助
编辑
Redis-cli monitor output after two refreshes
EDIT2
gem 列表:
- gem “设计”
- gem 'rails', '4.2.5'
- gem 'mysql2', '>= 0.3.13', '< 0.5'
- gem 'sass-rails', '~> 5.0'
- gem 'uglifier', '>= 1.3.0'
- gem 'coffee-rails', '~> 4.1.0'
- gem 'coffee-script-source', '1.8.0'
- gem 'jquery-rails'
- gem 'turbolinks'
- gem 'jbuilder', '~> 2.0'
- gem 'sdoc', '~> 0.4.0', group: :doc
- gem 'dashing-rails'
- gem '美洲狮'
- gem 'nokogiri'
- gem 'htmlentities'
- gem 'pickadate-rails'
- gem 'json'
最佳答案
你说你正在使用 MySQL,但你链接到的帖子指的是 Redis。您没有真正提供足够的信息来解决问题,而且您提供的信息是矛盾的。也就是说,您可以通过连接 MySQL 服务器并运行以下命令来让自己对自己的信念更有信心:
show processlist;
在启动应用程序之前运行它一次。加载您的页面,并在每次刷新页面时再次运行它。如果您没有关闭连接,您每次都会看到一个新连接。
现在,我觉得这个解释有点不太可能。在我看来,您更有可能做一些昂贵的事情并使数据库重载。为此,您需要深入了解您正在运行的查询并弄清楚如何优化。
关于ruby-on-rails - 破折号:连接未关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36706662/