Hi Micheil,

You have mentioned me what I have miss.
I was only focused on the performance of http service.
After I have done the benchmark with cluster using `net`. I was surprised 
that `net` are not that slow as`http`.

Here is the result: (with node v0.8.8)
>ab -n 200000 -c xxxx 127.0.0.1:8080/
200client 1000client 2000client
node_cluster 21001.89 19000.00   18717.28
tj wite node 23792.30 23175.49   22707.17
tj simple 24220.45 23182.52   22709.86


>ab -n 200000 -c xxxx -k 127.0.0.1:8080/ 
 200client 1000client 2000client
node_cluster 134403.36 136077.29  116258.52
tj wite node 124507.96 109830.13  103300.93
tj simple 124113.37 105600.24  100807.72


>weighttp -n 200000 -c xxxx -t 8 127.0.0.1:8080/
 200client 1000client 2000client
node_cluster 48644 41211    43047
tj wite node 78133 76878    72929
tj simple 78061 73478    72209


>weighttp -n 200000 -c xxxx -t 8 -k 127.0.0.1:8080/
 200client 1000client 2000client
node_cluster 168867 163490          161464
tj wite node 179399 195751          178095
tj simple 289362 281941          256841


Thread.js get a bigger advantage when benchmark with weighttp that get 
multi thread support.
Currently I implement a simply http service in javascript and it can 
achieve 60,000+  both connections/sec and requests/sec.
I will try to implement a method for programs to register their protocol. 
When that time, I'll do another benchmark base on http service.

Sincerely,
Robert


Micheil Smith於 2012年8月24日星期五UTC+8上午5時20分08秒寫道:
>
> Hi Robert, 
>
> How's this compare to a Node.js server running with Cluster (API in 0.8)? 
>
> I expect it to certainly be better than just a single node process running 
> a net.Server, 
> but if that process has been setup with Cluster, then you'd have one 
> server per core 
> to deal with the shared socket (or, at least, that's my understanding of 
> it). 
>
> Kind Regards, 
> Micheil Smith 
> -- 
> BrandedCode.com 
>
> On 23/08/2012, at 5:40 PM, Robert L wrote: 
>
> > Hi everybody, 
> > 
> > I have worte a node.js addon, to support multi thread with v8, and act 
> as a ipv4/v6 server, please give it a try. 
> > Your feedback is very welcome. 
> > 
> > Thread.js support: 
> > 1. Act as a network layer of node.js. 
> > 2. Register a file to thread - you then run javascript file within the 
> thread along with the network layer. Thread.js support require(), 
> console.log, events.Emitter, net.createConnection and typedarray in thread 
> mode for now. 
> > 
> > Benchmark is done by using weighttp on a Ubuntu 12.04 LTS 64bits server 
> with a i7 2.67G 4cores cpu. 
> > Performance of a simple 'Hello world' server: 
> > 60K+ concurrent connections per second. 
> > 150K~200K concurrent requests per second. 
> > And it's scale mainly by cpu core number. You can get higher benchmark 
> by adding more cpu power. 
> > 
> > Throughout of 50Kbytes response server: 
> > using typedarray: 1.7Gbytes per second. 
> > using javascript string: 290Mbytes per second. 
> > 
> > Stability: 
> > Each connection object is reused, thus the memory allocation is just at 
> new age, don't need to face gc problem, and it can run days to weeks 
> without restart the program. 
> > You can prove it by running node with v8 flag '--trace_gc 
> --trace_gc_verbose' 
> > 
> > Detail benchmark output and test script is supported. 
> > Because it's written with the support of pthread and epoll , thread.js 
> is Linux only. 
> > 
> > And please support me if it make some useful for your application. 
> Thanks very much. 
> > 
> > homepage: http://rob333.github.com/thread.js/ 
> > github: https://github.com/rob333/thread.js 
> > 
> > 
> > 
> > -- 
> > Job Board: http://jobs.nodejs.org/ 
> > Posting guidelines: 
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines 
> > You received this message because you are subscribed to the Google 
> > Groups "nodejs" group. 
> > To post to this group, send email to [email protected]<javascript:> 
> > To unsubscribe from this group, send email to 
> > [email protected] <javascript:> 
> > For more options, visit this group at 
> > http://groups.google.com/group/nodejs?hl=en?hl=en 
>
>

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to