2011-01-04 7 views
1

Ich teste NodeJs, vor allem die Nebenläufigkeit. Ich benutze Tsung dafür. Leider scheint Tsung nicht in der Lage zu sein, genügend Benutzer zu spawnen. Ich bekomme nur ungefähr 30K gleichzeitige Verbindungen, obwohl ~ 2GB RAM noch unbenutzt sind. (Check the charts)Max Verbindungen unter Ubuntu erhöhen? (Tsung Concurrency Test)

Die XML-Konfigurationsdatei ist die folgende:

<tsung loglevel="notice" version="1.0"> 
<!-- Client side setup --> 
− 
<clients> 
<client host="localhost" use_controller_vm="false"/> 
<client host="localhost" use_controller_vm="false"/> 
</clients> 
<!-- Server side setup --> 
− 
<servers> 
<server host="localhost" port="8000" type="tcp"/> 
</servers> 
− 
<!-- 
to start os monitoring (cpu, network, memory). Use an erlang 
    agent on the remote machine or SNMP. erlang is the default 
--> 
− 
<monitoring> 
<monitor host="localhost" type="erlang"/> 
</monitoring> 
− 
<load> 
−  
<arrivalphase phase="1" duration="50" unit="minute"> 
<users interarrival="0.000000001" unit="second"/> 
</arrivalphase> 
</load> 
− 
<sessions> 
− 
<session name="nodeJS" probability="100" type="ts_http"> 
− 
<for from="0" to="40" incr="1" var="counter"> 
− 
<request> 
<http url="http://localhost:8000/" version="1.1" method="GET"/> 
</request> 
<thinktime random="false" value="300"/> 
</for> 
</session> 
</sessions> 
</tsung> 

So, wie die Benutzer zu erhöhen, so dass der gesamte RAM verwendet wird ???

Antwort

0

Je nach CPU-Architektur, Knoten könnte nur 1 GB RAM unterstützen: http://code.google.com/p/v8/issues/detail?id=847

um dieses Problem zu umgehen Sie mehrere Instanzen von Knoten ausgeführt werden können (und sie miteinander reden, wenn erforderlich). Bibliotheken wie Multi-Node können dabei helfen: https://github.com/kriszyp/multi-node

Sonst müssen Sie in die Optimierung Ihres Servers für viele lang laufende Verbindungen suchen - außerhalb meiner Fachkenntnisse, aber es gibt viele Leute darüber nachzudenken. Hier ist ein Thread von der Nodejs Google Group über die Unterstützung von 100k Verbindungen: https://groups.google.com/d/topic/nodejs/0Z34PH_R88o/discussion

3

Ich löste das Problem !!! Ich musste nur die Port Range erhöhen. Mit 4GB RAM erreiche ich fast die maximal mögliche Port Range. Genau 61980 gleichzeitige Verbindungen. Große NodeJs!

+1

Gibt es noch weitere Tipps, um dies zu erreichen? Verwenden Sie den größten Teil des Arbeitsspeichers? Was ist das Setup - Ich weiß, dass es Probleme auf Knoten gibt, die nur 1 GB RAM unterstützen. – tofutim

+0

Mit welchem ​​Befehl haben Sie den Portbereich vergrößert? –

Verwandte Themen