2012-11-25 6 views

Antwort

6
  1. Sie würden mehr als ein instante von dünnen starten, wenn Sie gleichzeitige Anforderungen zu verarbeiten haben. Um gleichzeitige Anfragen (gleichzeitige Verbindungen) zu verwalten, benötigen Sie ein Cluster von "dünnen".

  2. Ja, Sie können dies leicht sehen:

wollen wir versuchen, einen einzelnen Server dünnen

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 

Kontrolle:

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

ok, wir haben eine dünne auf einen Port hören.

Werfen wir nun einen --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 ... 

Check versuchen:

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

voilà Sie 3 Port Hören haben.

ps -ef | grep thin 

meldet 3 laufende Prozesse, jeder kann eine gleichzeitige Anfrage verwalten.

Letztendlich zur gleichzeitigen Verarbeitung von Anfragen müssen Sie einen Cluster von Thin und Reverse-Proxy Ihren virtuellen Host starten und dann Lastausgleich die Anfrage auf die verschiedenen Thin Sie gestartet haben.

Diese Blogpost den Punkt machen: Scaling Rails with Apache 2, mod_proxy_balancer and Thin Clusters

+0

Für wie viele Anfragen pro Sekunde benötigen Sie mehr dünnen Server? –

+0

Zitat http://www.amberbit.com/blog/2014/9/9/ruby-the-bad-parts/ Die Leistung von Multithread-Anwendungen ist jedoch immer noch begrenzt. Der Ruby-Interpreter verwendet einen Mechanismus namens GIL (Global Interpreter Lock), der nur einen Thread gleichzeitig ausführen kann, selbst wenn er auf einem Mehrprozessorsystem ausgeführt wird, d.h. wenn Sie Quad-Core-Systeme haben, können Ressourcen besser genutzt werden. Last- und Performancetests sind jedoch empfehlenswert und nützlich, um zu verstehen, wie dies für Ihre Anwendung und Laufzeitumgebung gelten kann oder nicht. –

+0

................. Danke –

Verwandte Themen