标签: cloud66

在查询随机简单查询期间丢失与 MySQL 服务器的连接

最终更新:我们通过找到一种无需分叉即可实现目标的方法来解决此问题。但是分叉是问题的原因。

---原帖---

我在 Rails 堆栈上运行 ruby​​,我们的 mysql 服务器是独立的,但与我们的应用程序服务器位于同一站点。(我们已经尝试将它换成规格翻倍的不同 mysql 服务器,但没有看到任何改进。

在工作时间,我们从没有特别的查询中得到了一些。

ActiveRecord::StatementInvalid: Mysql2::Error: Lost connection to MySQL server during query
Run Code Online (Sandbox Code Playgroud)

大多数失败的查询非常简单,一个查询和另一个查询之间似乎没有模式。这一切都始于我从 Rails 4.1 升级到 4.2 时。

我不知道该尝试什么。我们的数据库服务器全天的 CPU 使用率低于 5%。我确实从随机交互失败的用户那里收到错误报告,因此它不是已经运行了几个小时或类似的查询,当然,当他们重试完全相同的事情时,它会起作用。

我们的服务器由 cloud66 配置。

简而言之:我们的 mysql 服务器由于某种原因即将消失,但这不是因为缺乏资源,它也是一个全新的服务器,因为在出​​现此问题时我们从另一台服务器迁移。

有时在开发功能时,我在本地主机上也会发生这种情况,所以我认为这不是负载问题。

我们正在运行以下内容:

  • 红宝石 2.2.5
  • 导轨 4.2.6
  • mysql2 0.4.8

更新:根据下面的第一个答案,我昨晚将 max_connections 变量增加到 500,并通过以下方式确认了增加 show global variables like 'max_connections';

我仍然断开连接,今天的第一个连接仅在几分钟前断开.... ActiveRecord::StatementInvalid: Mysql2::Error: Lost connection to MySQL server during query

我跑了select * from information_schema.processlist;,我得到了 36 行。这是否意味着我的应用服务器当时正在运行 36 个连接?或者一个进程可以是多个连接?

更新:我只是设置了 net_read_timeout = 60(之前是 30)我会看看是否有帮助

更新:它没有帮助,我仍在寻找解决方案......

继承人删除凭据我的 …

ruby mysql activerecord ruby-on-rails cloud66

6
推荐指数
1
解决办法
1万
查看次数

更改Carrierwave上传路径以适应Cloud 66的配置

使用Cloud 66部署rails应用程序到digitalocean.com.除了尝试上传图像时的一些权限错误外,一切正常.

 Errno::EACCES (Permission denied - /var/deploy/anabol/web_head/releases/20130608104347/public/uploads/tmp): 
Run Code Online (Sandbox Code Playgroud)

image_uploader.rb

class ImageUploader < CarrierWave::Uploader::Base
...
  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end
...
end
Run Code Online (Sandbox Code Playgroud)

有一个描述,如何解决这里的问题:https: //www.cloud66.com/help/permission_denied_errors

我将store_dir路径更改为:

  def store_dir
    "#{Rails.root}/tmp/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end
Run Code Online (Sandbox Code Playgroud)

但它没有帮助.我仍然收到此错误:

 » 13:49:25.696 Errno::EACCES (Permission denied - /var/deploy/anabol/web_head/releases/20130608114659/public/uploads/tmp): 
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

编辑:

上传适用于image_uploader.rb中的此部分:

  def cache_dir
    # should return path to cache dir
    Rails.root.join 'tmp/uploads/cache'
  end

  def store_dir
    "#{Rails.root}/tmp/uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end
Run Code Online (Sandbox Code Playgroud)

但现在我得到:

ActionController::RoutingError (No route matches [GET] "/var/deploy/anabol/web_head/releases/20130608164223/tmp/uploads/profile/image/3/thumb_Screenshot_from_2013-06-05_17_27_54.png"):
Run Code Online (Sandbox Code Playgroud)

在视图上,仅显示图像路径.

ruby deployment ruby-on-rails carrierwave cloud66

3
推荐指数
1
解决办法
1741
查看次数

Faye 制作中的设置

我已经在本地主机上设置了 Faye,并且工作正常。

我现在尝试使用 Cloud66 部署服务将其部署在 DigitalOcean VPS 上。为了运行该命令,我使用“after_rails”挂钩。

rackup $RAILS_STACK_PATH/faye.ru -s Thin -E 生产

这给了我错误:

部署期间出错:after_rails 挂钩期间出错:服务器:not_specified。无法运行命令:/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in require': cannot load such file -- faye (LoadError) from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:inrequire' 来自 /var/deploy/anabol/web_head/current/faye.ru:1:in block in <main>' from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:55:in/usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:55:in initialize' from /var/deploy/anabol/web_head/current/faye.ru:innew'中的instance_eval'来自/var/deploy/anabol/web_head/current /faye.ru:in <main>' from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:49:ineval' from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:49:in new_from_string' from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:40:inparse_file' from /usr/local /lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/server.rb:277:in build_app_and_options_from_config' from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/server.rb:199:inapp' 来自 /usr/local/lib/ruby/gems/1.9.1/gems/ rack-1.5.2/lib/rack/server.rb:314:in wrapped_app' from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/server.rb:250:instart' 从 /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/server.rb :141:in start' from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/bin/rackup:4:in'来自 /usr/local/bin/rackup:23:in load' from /usr/local/bin/rackup:23:in'

github 仓库: https: …

ruby ruby-on-rails faye cloud66

3
推荐指数
1
解决办法
2096
查看次数