1

nettyでwebsocketを利用するWebアプリがあります。大量のデータ ストリームをプッシュしようとしていますが、1 秒あたり約 300 ~ 400 の応答に達すると、チャネルが NOT_WRITABLE としてマークされ始め、一部の応答を送信できないことに気付きました。

netty がソケットで ack を待っているようです。それを無効にする方法、または処理速度を上げる方法はありますか? Chrome での JavaScript の実装は非常に必要最小限のものであり、その面からパフォーマンスを向上させるためにできることはあまりないように思えます。

4

1 に答える 1

1

データをクライアントに「送信」できるようにすると、書き込みが速くなるようです。書き込みウォーターマークを増やすことができます。[1] を参照してください。

また、「tcpNoDelay」や「sendBufferSize」などの TCP オプションを試してみることもできます。[2] を参照

[1] http://static.netty.io/3.5/api/org/jboss/netty/channel/socket/nio/NioChannelConfig.html#setWriteBufferHighWaterMark(int ) [2] http://static.netty.io/ 3.5/api/org/jboss/netty/channel/socket/SocketChannelConfig.html

于 2012-08-22T05:22:03.630 に答える