当负载测试程序时,我正在使用pubnub来创建一些集成,我发送了大约2000个请求,并且在每个请求上,pubnub实例创建了不同的pub,子键和订阅的通道和监听器添加但是在有网络的一段时间之后问题pubnub抛出套接字挂起错误,内存开始尖峰,最终进程被杀死,虽然我在订阅失败时销毁pubnub对象。
class pubnub{
private config;
private pubnub;
constructor(options){
this.config = options
}
register(callback) {
let timetoken = null;
this.pubnub = new Pubnub({
publish_key: options.publish_key,
subscribe_key: options.subscribe_key,
ssl: true,
keepAlive: true
});
this.pubnub.addListener({
message: function (m) {
// console.log('----------------- ', m);
if (timetoken !== m.timetoken) {
timetoken = m.timetoken;
}
},
status: function (m) {
console.log(m);
if (m && m.error === true) {
this.pubnub.destroy(true);
return callback(m.errorData);
}
callback(null, true);
}
}
});
this.pubnub.subscribe({
channels: option.channels
});
}
}