2012-11-25 1 views

答えて

6
  1. あなたがを処理するために同時要求を有す​​ることができる場合は、薄いの複数instanteを開始します。同時リクエスト(同時接続)を管理するには、"thin"のクラスタが必要です。

  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  

OK、我々は薄いがあります1つのポートでリッスンします。あなたは3ポートのリスニングを持って出来上がり

netstat -an | grep 300 
tcp4  0  0 *.3002     *.*     LISTEN  
tcp4  0  0 *.3001     *.*     LISTEN  
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 ... 

チェックしてみましょう。

ps -ef | grep thin 

が3つのプロセスを実行していると報告し、それぞれが同時に要求を管理できます。

最終的に同時に要求を処理するには、シン・リバース・プロキシー・バーチャル・ホストのクラスターを開始してから、開始したばかりのさまざまなシン・バスに対して要求をロード・バランシングする必要があります。あなたはもっと薄いのサーバーが必要なのかどのように多くの秒あたりの要求のためにScaling Rails with Apache 2, mod_proxy_balancer and Thin Clusters

+0

このブログ投稿には、ポイントを作ることができますか? –

+0

引用http://www.amberbit.com/blog/2014/9/9/ruby-the-bad-parts/マルチスレッドアプリケーションのパフォーマンスはまだ制限されています。 RubyインタプリタはGIL(Global Interpreter Lock)と呼ばれるメカニズムを使用しており、マルチプロセッサシステム上で実行された場合でも、一度に1つのスレッドしか実行できません。とにかく、これがアプリケーションと実行時環境にどのように適用されるかどうかを理解するには、負荷とパフォーマンスのテストが推奨され、有用です。 –

+0

.................ありがとうございます –

関連する問題