У меня есть сетевое приложение, которое обрабатывает около 40 тыс. Msg/sec, написанное с использованием сетки netty, и я хочу уменьшить количество вызовов сборщика мусора. В то время как профилирование я обнаружил, что существует значительное количество byte[]
экземпляров, и я подозреваю, что это происходит из этой части кода:Как уменьшить производство нетто-мусора?
public class MessageHandler extends SimpleChannelHandler {
public void messageReceived(ChannelHandlerContext ctx, final MessageEvent e) {
ChannelBuffer message = (ChannelBuffer) e.getMessage();
}
}
Можно ли заставить NETTY повторно/бассейн ChannelBuffers
каким-то образом, чтобы предотвратить его, чтобы построить их все время?
Так Нетти создает новый ChannelBuffer каждый раз, когда приходит новое сообщение? –
да, как это работает atm –
Есть ли простой способ избежать этого? У меня есть только tcp-клиент и я не хочу создавать другой мусор, выделяя кучу ChannelBuffers. Может быть, я могу раскошелиться и немного поменять, но я уже не знаком с этой библиотекой. –