Node.js 脚本永远运行,但在大约 30 分钟后停止
我是一名网络开发人员,对整个“运行自己的 (v)服务器”还不熟悉,所以这可能是一个我还没有弄清楚的简单服务器问题
我的问题是这样的:我'我在我的虚拟服务器上运行一个简单的 Node.js (0.6.6) 脚本,并使用“forever”来守护该脚本。该脚本检查连接套接字,递增变量并将数字发送给用户。如果套接字断开连接,则该变量将减一。
该脚本工作正常,向我显示大约 100-200 个“活动”用户但大约 10-50 分钟后,该脚本停止工作。脚本停止后,虚拟服务器响应非常缓慢(至少我想象一下)- 我的虚拟服务器是否可能太弱了?
这是代码:
var io = require('socket.io').listen(8222);
var count = 0
io.sockets.on('connection', function(socket) {
count++;
io.sockets.socket(socket.id).emit('message', {count: count});
socket.on('disconnect', function () {
count--;
});
});
最后一件事:我为我的项目使用托管服务器(从打开套接字的位置),并为 node.js 部分使用来自不同主机的虚拟服务器。
I'm a web developer who is new to the whole "run your own (v)Server" so it might be a simple server problem I haven't figured out yet
My problem is this: I'm running a simple Node.js (0.6.6) script on my vServer and I'm using "forever" to daemonize the script. The script checks for connecting sockets, increments a variable and sends the number to the user. If the sockets disconnects, the variable is decremented by one.
The script works fine, showing me around 100-200 "active" users but after around 10-50 minutes, the script just stops working. After the script stops, the vServer responds very slowly (at least I imagine that) - is it possible that my vServer is just too weak?
Here is the code:
var io = require('socket.io').listen(8222);
var count = 0
io.sockets.on('connection', function(socket) {
count++;
io.sockets.socket(socket.id).emit('message', {count: count});
socket.on('disconnect', function () {
count--;
});
});
One last thing: I'm using a managed server for my project (from where the socket is opened) and a vServer from a different hoster for the node.js part.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以尝试在不同的窗口中运行
top
并观察服务器负载,看看它是否与服务器停止响应的时间同时发生。You could try running
top
in a different window and watch the server load, see if it occurs the same time as when the server stops responding.