小编DrF*_*son的帖子

为什么 puma 不使用它的所有线程?

我正在使用 puma 和 nxinx,据我所知,即使我以 16 个或更多线程的默认值启动它,它也只使用单个线程。我已经设置了一个新的 rails 应用程序,然后完成了这里描述的设置:

http://blog.wiemann.name/rails-server

这给出了这个示例 nginx 配置:

upstream benchmarkapp.com {server unix:/tmp/benchmark_app.sock fail_timeout=0;}
server {
 server_name benchmarkapp.com;
 root /home/tristan/benchmark_app/public;
 try_files $uri/index.html $uri @benchmarkapp.com;
 location @benchmarkapp.com {
 proxy_redirect off;
 proxy_pass http://benchmarkapp.com;
 }
}
Run Code Online (Sandbox Code Playgroud)

然后创建一个简单的控制器动作,它只是休眠 3 秒,然后呈现“hello”:

class WelcomeController < ApplicationController
  def index
    sleep(2)
    render :text => "hello"   
  end
end
Run Code Online (Sandbox Code Playgroud)

然后我开始使用 puma: puma -t 16 -b unix:///tmp/benchmark_app.sock -S /tmp/benchmark_app.state

一旦运行,我使用 siege 用 10 个并发用户命中它,这是结果

 % siege -c 10 -t 60s http://benchmarkapp.com
** SIEGE 2.70
** Preparing 10 concurrent …
Run Code Online (Sandbox Code Playgroud)

nginx web-server ruby ruby-on-rails

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

标签 统计

nginx ×1

ruby ×1

ruby-on-rails ×1

web-server ×1