问题标签 [puma]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
251 浏览

ruby-on-rails - Puma is using one process most of the time

I configured puma to use 3 processes and 1 thread. In application I am currently checking I have one really long request (~60 s). Problem is that puma is using mostly one process to run requests. So, I have:

rn(x) - request number n that takes x second

so in such pipeline (request are fired in more less same time):

r1(0.2), r2(0.1), r3(60), r4(0.3)

the puma queue looks like this:

what makes waiting for r4 for ages?

Why it is happening?

0 投票
1 回答
583 浏览

multithreading - 当 allow_concurrency = true 时 Rails 停止记录

我正在使用带有 Puma 多线程服务器的 Rails 4.0。

即使在开发环境中,我也必须启用“allow_concurrency = true”,因为我使用 ActionController::Live 实现了一些长拉事件源。

但是一旦启用多线程,Rails 就会停止记录。所以日志文件只有第一页请求,之后就什么都没有了。(STDOUT 也一样)

我认为 Rails.logger 在不同的线程中丢失了它的引用,或者日志文件被一个线程锁定而其他线程无权访问。

我用谷歌搜索了几个小时,但可以找到任何答案或类似的问题。

0 投票
2 回答
9846 浏览

ruby-on-rails - puma 是唯一的多线程 rails 4 http 服务器吗?

我已经将我们的堆栈转换为 Rails 4(是的!)

我正在寻找利用线程安全代码的优势。

彪马在起床,停止它似乎是一个不同的问题:(

Puma 是唯一的多线程导轨吗?

0 投票
1 回答
174 浏览

ruby-on-rails - 数据流 - 连接限制

我正在尝试运行 ActionController::LIVE,但我还不太了解服务器的连接处理。

假设我有 2 个进程在 16 个线程上运行,并且类似于聊天应用程序,它将消息存储在数据库中并将其数据流式传输给参与者,这是否意味着我总共只能有 32 个聊天参与者,因为单个连接是一直活跃?- 否则这些连接是如何分布的?他们每个人都需要一个Sql连接吗?

0 投票
2 回答
6802 浏览

ruby-on-rails - Heroku 上的 Puma 集群配置

在我的 RoR4 Heroku 应用程序上配置 Puma(多线程+多核服务器)时,我需要一些帮助。Heroku 文档不是最新的。我跟着这个:配置的并发和数据库连接,它没有提到集群的配置,所以我不得不一起使用这两种类型(线程和多核)。

我目前的配置:

./过程文件

./config/puma.rb

问题:

a) 我是否需要像 Unicorn 中的 before_fork / after_fork 配置,因为集群工作人员是分叉的?
b) 如何根据我的应用程序调整线程数 - 将其删除的原因是什么?/ 在什么情况下会有所作为?0:16 不是已经优化了吗?
c) Heroku 数据库允许 500 个连接。根据线程、工作者和测功机计数,DB_POOL 有什么好的价值?- 每个工作人员每个测功机的每个线程在并行工作时是否需要一个单独的数据库连接?

一般来说:我的配置在并发性和性能方面应该如何?

0 投票
1 回答
1672 浏览

apache - 无法从 http://localhost/xxx/xxx.git 导入 repo

我正在我的本地主机(http://example.com)上使用 gitlab 5.2 设置,在 Centos 6.4 上,当我尝试使用导入现有存储库创建一个新项目并提供 github 克隆链接(例如:https ://github.com/XXXX/yyy.git )使用导入的repos按预期创建了一个新项目,但是当我尝试使用导入现有repo创建一个新项目并提供一个gitlab链接(例如:http://example.com/xxxx/foo.git)`在我自己的机器上创建了一个新的EMPTY项目,我的 puma.stderr.log 说:

似乎我的 puma 无法访问请求的 url,或者 gitlab-shell 无法访问 repo(因为无法检查 gitlab-shell 的日志)

(example.com 只是本地主机)

最后有些希望apache服务器无法解析localhost apache日志中的错误是

我的 gitlab.conf 是

我的 /etc/hosts 文件是

主机名命令也给出

主机名 --fqdn 命令给出

我哪里错了。?

我也尝试过编辑 etc/hosts

但没有成功..

0 投票
1 回答
8678 浏览

ruby-on-rails - 对于 Ruby 1.9.3 和 Rails 3.2,Puma 是否比 Unicorn 更好?

有很多关于 Puma 以及它如何比 Unicorn 更快的讨论。但是,他们也提到它更适合 JRuby 和 Rubinius 的实例。

我的问题:带有 Ruby 1.9.3 的 Rails 3.2 应用程序怎么样?独角兽还是彪马?

0 投票
2 回答
3122 浏览

ruby-on-rails - Rails 4,实时流,保持打开状态,阻止请求

我正在尝试使用 Rails 4 Live Streaming 组件。除了看起来流保持打开并阻止新请求之外,这一切都有效。

关闭或单击应用程序中的新链接时,如何确保连接正确关闭?

这是我的现场活动控制器。

数据库配置

我在带有 postgresql 9.2.x 的 Ubuntu 10.04 上使用 puma 作为独立的网络服务器(我没有需要 nginx 提供的繁重静态文件)。

0 投票
2 回答
1108 浏览

sinatra - 使用 Sinatra Server Sent Events 流时如何提高并发性

我正在构建一个订阅 Redis 通道并使用服务器发送事件将消息推送到客户端的 Rack 中间件。Sinatra 提供了一个很好的 DSL 来做这件事。我有一个工作示例,但是,我遇到的问题是,一旦我到达 7 或 8 个客户端,性能就会大幅下降。在尝试重用请求之间的 Redis 连接时,我还遇到了“死锁”服务器的问题。

我正在使用 Thin 为应用程序提供服务(它在后台使用 EventMachine)。我认为 Sinatra DSL 已经使用 EventMachine 处理了并发,但也许这是我需要自己实现的东西?我不想将自己限制在仅基于 EventMachine 的服务器(Thin,Rainbows!),以防有人想使用像 Puma 这样的多线程服务器。我应该怎么做才能增加代码的并发性?

0 投票
1 回答
243 浏览

ruby-on-rails - 在没有线程安全 Rails 应用程序的情况下使用 Puma 和 JRuby

我使用 MRI 构建了我的应用程序,没有考虑线程或并发性,因此该应用程序绝对不是线程安全的(许多依赖项肯定不是)。我的问题是我仍然可以将它移植到 JRuby 并在不使用 config.threadsafe 的情况下使用 Puma!并且仍然看到改进?