- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使 rails
应用程序在 passenger
下运行,但到目前为止还没有成功。它使用 sequel
连接到 postgresql
。随机请求需要太多时间才能完成。我能够找到应用程序将时间花在哪里:
%self total self wait child calls name
99.92 65.713 65.713 0.000 0.000 5 PG::Connection#async_exec
0.00 0.002 0.002 0.000 0.000 264 Set#delete
...
据推测,webrick
不会发生这种情况,我将尝试在 unicorn
下运行它。
我正在使用 passenger-5.0.30
、ruby-2.3.0
、postgresql-9.4
、pg-0.19 .0
,rails-5.0.0.1
。 unicorn-5.1.0
也是如此。该应用程序在 lxc
容器中运行。主机和 guest 操作系统是 ubuntu/xenial
。
最佳答案
问题在我们开始重新建立与数据库的连接后得到解决。我们在项目中使用 sequel
,Passenger 仅在使用 ActiveRecord 时自行处理问题。
为了扩展它,默认情况下,Passenger 对 ruby 应用程序使用智能生成。它首先产生预加载器进程,加载框架和所有库。之后,预加载器进程在需要时产生工作进程,处理请求。产生工作进程时,所有文件描述符都从预加载器进程继承。因此,如果您不重新建立与数据库的连接,则所有工作进程共享一个由预加载器建立的连接。这会导致各种奇怪的行为。比如请求花费的时间太长。
在此之前,我们还将处理 WebSocket 连接移到了一个单独的进程中。但是不确定它是否导致了这个问题。
更多相关信息:
Disconnect If Using Forking Webserver with Code Preloading
Unintentional file descriptor sharing
Running the Action Cable server on the same host and port, under a sub-URI
关于ruby-on-rails - 请求卡在 PG::Connection#async_exec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40044636/
我正在尝试使 rails 应用程序在 passenger 下运行,但到目前为止还没有成功。它使用 sequel 连接到 postgresql。随机请求需要太多时间才能完成。我能够找到应用程序将时间花在
我是一名优秀的程序员,十分优秀!