YoVDO

Netty Best Practices for Optimal Performance

Offered By: Meta via YouTube

Tags

Java Courses Pipelining Courses Network Programming Courses Garbage Collection Courses JNI Courses

Course Description

Overview

Explore Netty best practices and optimizations in this comprehensive talk by Norman Maurer, one of the principal authors of Netty. Gain insights into maximizing performance with this popular networking framework for the JVM. Begin with a brief introduction to Netty's functionality, then delve into advanced techniques, including pipelining optimizations, GC pressure reduction, proper buffer usage, and context switching minimization. Learn about limitations in the JDK NIO implementation and discover how to overcome them using JNI-based solutions for Linux. Understand the benefits of native transport for reduced GC and lower latency, and explore practical tips for efficient SSL implementation and ChannelHandler usage. Whether you're an individual developer or part of a large tech company, acquire valuable knowledge to enhance your Netty-based applications' speed and efficiency.

Syllabus

Intro
Norman Maurer, Principal Software Engineer @ Red Hat Inc
No Pipelining Optimization
Pipelining to safe syscalls!
write(msg), flush() and writeAndFlush(msg)
GC Pressure - Run Collector, run...
Correctly write with respect to slow receivers
Configure high and low write watermarks
Issues with using non pooled buffers
Use Pooling of buffers to reduce allocation deallocation time!
Use Pooling of buffers to reduce allocation / deallocation time!
Write direct buffers... Always
Find pattern in ByteBuf
Other buffer tips
File transfer?
Proxy like application with context switching issue
Proxy like application which reduce context switching to minimum
Combine operations when call from outside the EventLoop
Operations from inside ChannelHandler
Share ChannelHandlers if stateless
Use proper buffer type in MessageToByte Encoder
SSL - Don't use JDKS SSLEngine if performance matters
Native Transport for less GC and lower latency...
Switching to native transport is easy


Taught by

Meta Developers

Related Courses

Gazelle-JNI: Offloading Spark SQL to Native Engines for Execution Acceleration
Databricks via YouTube
Tracking App Behaviors With - Nothing Changed - Phone For Evasive Android Malware
Black Hat via YouTube
Beyond JVM - How the Platform is Evolving for New Languages and Features
GOTO Conferences via YouTube
Foreign Function and Memory API in Java 17 - Replacing JNI
Okta via YouTube
Native Script Engine: Integrating V8 JavaScript with Java - Jim Laskey
Java via YouTube