nodejs可以提高性能

我做了nodejs和java之间响应时间性能的比较。

testing环境:操作系统:Ubuntu 10.10服务器:OpenFire 3.7两个服务器组件用Nodejs(0.4.8)和Java(whack API)

testing场景:向服务器和服务器组件发送XMPP消息数量的并发客户机数量将回复到随机select的客户机。 正在计算达到响应的总时间。

testing结果:
java和nodejs的响应时间保持不变,直到服务器负载增加,每个客户端的消息数量不断增加。 据观察,当每个客户端每秒消息数从5000增加到10000时,Nodej似乎处于较慢的一侧。

原因:我试图找出高负载下Nodejs性能低下的原因,但找不到任何结论。 我发现,因为Nodejs是单线程的进程,它正在同一个线程中读写,所以当负载增加时,I / O写入变慢

请你能解释一下可能的原因吗? 如果您需要更多信息,我将很乐意提供。 我也有testing数据,并从这些数据生成graphics。

谢谢最好的问候,穆罕默德·阿里

读取和写入数据不是绑定到一个单一的线程,实际上它使用了一些将asynchronous工作的库。

只有你的代码在一个线程中运行

也许你面对V8垃圾收集的问题,很难说。 或者,正如Raynos指出的那样,告诉库写入套接字(而不是真正发送)的代码是由单个内核绑定的,因此,要求节点向所有收件人发送数据的速度很慢。

如果你有多个CPU,那么node.js只会利用其中的一个。

尝试让你的testing非常平行,然后看哪一个更好。 这就是node.js应该闪耀的地方。