Socket.io 禁用 perMessageDeflate

Socket.io disable perMessageDeflate

当服务器遇到流量增加时,会出现奇怪的内存泄漏,使使用的内存从 600m 膨胀到 ±3gb,几分钟后又回到 600mb。这也会激增 CPU 使用率并使服务器无响应。

我发现这个帖子 https://github.com/socketio/socket.io/issues/3477 说禁用 perMessageDeflate 可以解决问题。

如何在 socket.io 中禁用 perMessageDeflate?

禁用 perMessageDeflate

import http from 'http';
import express from 'express';

const app = express();
const server = http.createServer(app);

require('socket.io').listen(server, {perMessageDeflate: false});