6

在 Thin 网站:http ://code.macournoyer.com/thin/usage/它说您可以使用以下方式启动多个服务器:

thin start --servers 3
  1. 你为什么需要这样做?
  2. 每个服务器是否分配了不同的端口或什么?
4

1 回答 1

7
  1. 如果您可能有并发请求要处理,您将启动不止一次的精简。要管理并发请求(同时连接),您需要一个“瘦”集群

  2. 是的,你可以很容易地看到这一点:

让我们试试单服务器瘦身

 thin start -R fart.ru
 Thin web server (v1.5.0 codename Knife)
 Maximum connections set to 1024
 Listening on 0.0.0.0:3000, CTRL+C to stop

查看:

 netstat -an | grep 300
 tcp4       0      0  *.3000                 *.*                    LISTEN     

好的,我们在一个端口上进行了细听。

现在让我们试试 --servers 3

 thin start -R fart.ru --servers 3
 Starting server on 0.0.0.0:3000 ... 
 Starting server on 0.0.0.0:3001 ... 
 Starting server on 0.0.0.0:3002 ... 

查看:

 netstat -an | grep 300
 tcp4       0      0  *.3002                 *.*                    LISTEN     
 tcp4       0      0  *.3001                 *.*                    LISTEN     
 tcp4       0      0  *.3000                 *.*                    LISTEN    

瞧,你有 3 个端口监听。

 ps -ef | grep thin 

报告 3 个正在运行的进程,每个进程可以管理一个并发请求。

最终,要同时处理请求,您必须启动一个精简集群并反向代理您的虚拟主机,然后在您启动的各种精简上对请求进行负载平衡。

这篇博文可以说明问题:使用 Apache 2、mod_proxy_balancer 和 Thin Clusters 扩展 Rails

于 2012-11-26T19:45:31.733 回答