CNode

nowjs, redis, stomp的node服务器端, cpu100%....

Ttldlingwei发布于14 年前最后回复14 年前15 回复8981 浏览0 收藏

我写了一个服务器推的NODE应用,简单来说,就是node监听activemq的消息,用stomp包进行连接。监听到消息以后,发送给指定的客户端,并往redis中设置一些数据...

目前大概200-300左右的客户端连接,每过1-2天CPU就会冲到100%,然后客户端再请求连接NODE就无法响应了。我看LOG,NODE其实还是在处理,只是比较慢。。。

我不知道是哪里导致的。。求助大神们。。。

查看回复

回复 (13)

F
fish#1·14 年前

不够具体,看不出来呃

T
tldlingwei#2·14 年前
引用 fish不够具体,看不出来呃

3q,一般比较常见的,会导致NODEJS CPU100%的情况是什么样子?

S
samoin#3·14 年前

是否有大量运算?之前用node结合mongodb写了一套rest的访问接口,在用siege压力的时候,发现过cpu100%的情况,感觉当时看单核大概在200左右的并发会吃满。

T
tldlingwei#4·14 年前
引用 samoin是否有大量运算?之前用node结合mongodb写了一套rest的访问接口,在用siege压力的时候,发现过cpu100%的情况,感觉当时看单核大概在200左右的并发会吃满。

具体的运算是指的什么?发送MQ算是吗?我到达100%以后,基本上就得重启了,不重启就响应很慢。。。

S
samoin#5·14 年前
引用 samoin是否有大量运算?之前用node结合mongodb写了一套rest的访问接口,在用siege压力的时候,发现过cpu100%的情况,感觉当时看单核大概在200左右的并发会吃满。

@tldlingwei 运算要看你的业务逻辑啊。比如1+1之类。我不知道你的这个应用是否可以用cluster来分担负载,如果可以的话,试下cluster吧

S
smartyin#6·14 年前

CPU不是在上线后马上飙到100%,而是运行2天后才出现这种情况。如果这个问题出现在内存上,使因为有些空间没释放,但是出现在CPU上,耐人寻味。。。

J
jones#7·14 年前

是不是写LOG导致的?上次用log4js,程序都听了,日志还在写,cpu 100%。

J
jin52yang#8·14 年前

MQ的包是XML格式的吗?MQ的包最大貌似是4M,如果你发的全是差不多4M的包,然后再处理数据,貌似也是挺耗时的,内存占用都在数据包上了吧!数据密集的处理也不是很适合Node.

S
sumory#9·14 年前

剥离下核心部分,代码不方便透露吗?

T
tldlingwei#11·14 年前

具体怎么可以看的出来?

T
tldlingwei#12·14 年前
引用 jones是不是写LOG导致的?上次用log4js,程序都听了,日志还在写,cpu 100%。

LOG我试过不写,不过还是出现这个问题。。。

参与回复
登录后即可参与回复。登录