1

我正在测试 NodeJ,尤其是并发性。我正在为此使用Tsung。不幸的是,Tsung 似乎无法产生足够的用户。尽管〜2GB RAM仍未使用,但我只能同时获得大约30K的连接。(检查图表

XML 配置文件如下:

<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>

那么如何增加用户,让所有的内存都用完???

4

2 回答 2

3

我解决了问题!!!我只需要增加端口范围。使用 4GB RAM,我几乎达到了最大可能的端口范围。正好 61980 个同时连接。伟大的 NodeJ!

于 2011-01-08T15:32:57.697 回答
0

根据您的 CPU 架构,节点可能仅支持 1GB 的 RAM:http ://code.google.com/p/v8/issues/detail?id=847

要解决此问题,您可以运行多个节点实例(并在需要时让它们相互交谈)。像多节点这样的库可以帮助解决这个问题:https ://github.com/kriszyp/multi-node

否则,您需要考虑调整您的服务器以实现大量长时间运行的连接——这超出了我的专业知识范围,但有很多人在考虑这个问题。这是来自 nodejs Google Group 的关于支持 100k 连接的线程:https ://groups.google.com/d/topic/nodejs/0Z34PH_R88o/discussion

于 2011-01-04T22:55:36.500 回答