使用socket.io,NodeJS,浏览器页面在一段时间后没有响应或挂起

时间:2017-01-03 14:05:50

标签: javascript jquery node.js performance socket.io

我的浏览器页面变慢或挂起,或者您可以在一小时或两小时之后说不响应。实际上我的要求是使用socket.io来发送来自服务器的通知。

我已经设置了一个带有Express,mysql,mysql-event redis和socket.io的NodeJS,无论何处将任何记录插入数据库,都必须将通知发送到客户端应用程序。在客户端应用程序上,我每次收到通知时都会创建li元素,并删除每个第12个元素。

记录以非常快的速度插入表格,如每秒30条记录。

一切正常,但在某段时间浏览器页面显示通知变慢或挂起有时google chrome说内存耗尽并杀死页面。

我认为它存在浏览器,内存泄漏和客户端脚本而不是NodeJs Server的问题。

请建议我如何优化客户端应用程序,因为我正在添加30 li DOM元素并删除每秒一次。

代码

 socket.on('connect', function(){ 
     console.log("Client Connected.");
     socket.on("my-channel", function(msg){ 
         if(msg == null){
                console.log("MSG is Null");
                return;
            }
        $('ul.add_elem').prepend('<li'+clr+'>'+data+'</li>');
                                $('ul.add_elem li').eq(0).animate({
                                    'opacity':1,
                                    'max-width':'350px',
                                    'padding-left':'10px',
                                    'padding-right':'40px'
                                }, 200);

                                $('ul.add_elem li').eq(11).fadeOut(100);
                                $('ul.add_elem li').eq(12).remove();
//         adding notification by creating DOM LI and removing 12th li Element as shown above code.

        msg = null;
       });
    });

0 个答案:

没有答案