一个关于JMS的问题,长期使用造成死机
我用jms做了一个页面聊天程序,发送端是用ajax发送,接收端是用ajax每秒心跳接收,但是频繁死机,如果不发消息还好,可能不会死机,或者死机来的慢一点,我今天做压力测试,在发送端用js死循环不停调用发送端的ajax发送消息,第一次2分钟电脑死机(完全死掉了,鼠标什么的全不能动了),重启后再测没死,后来再测又死机了大约五六分钟的时候,这个死机是不定期的,有时候一启动很快就死了,有时候就比较长,请问会是什么原因造成的?我在网上查都查不到相关的案例,我简述一下我的程序流程吧:
发送端: 页面上输入文字-》点击发送-》ajax把消息传到后台-》后台建立于ActiveMQ的连接-》发送消息
接收端:由于是基于浏览器的web程序,受限于与服务器的请求响应模式,所以没用监听器,是通过每秒钟心跳完成的
每秒钟ajax请求后台相关程序-》程序建立于activeMQ的连接-》调用receive()方法接收消息-》如果有消息返回给浏览器,如果没有则返回空-》前台如果接到消息,显示在页面上,如果收到空,什么也不做
就是这个流程,我找了半天,不知道什么原因造成的死机,总之一开服务器(项目服务器用的Jboss),再开消息服务器(ActiveMQ),再开两个浏览器登陆两个账号,运行测试代码循环发送消息,就会造成不定期死机
我在网上查,怀疑是activeMQ需要优化一下,但是看网上的案例,不优化顶多就是慢,数据囤积太大造成阻塞,也没有说会死机的
------解决方案--------------------把你js死循环发出来看看,是不是这个写的有问题。
------解决方案--------------------死机是开的线程太多了。
为什么线程太多。检查自己的代码
------解决方案--------------------你改下你的死循环改成ajax返回结果后再发起下一次,这样测试下看看。开始也没问清楚,是发送端死机还是客户端死机?
------解决方案--------------------