Replies: 1 comment 1 reply
-
Hi! How many cores are used by Netty? How the pipeline is configured? Which Netty version? |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi,
We have an application which is essentially telnet clients (using netty) connecting to a single server (not ours).
The issue we are facing is that when there is a high number of concurrent clients, connections starts failing.
The application uses a single global EventLoopGroup, and for each client, individual Bootstrap.connect(), do stuff, and finally channel.close(). Each session lasting typically a minute or so.
The connection is via SSL but I believe it is a "red herring" that the issues will manifest with or without SSL.
In synthetic tests. we managed to achieve 1000 clients with no issue. But 1200 clients will start producing exceptions.
The 2 most common exceptions are:
The peculiarity is that when testing with 1200 clients, the number of failures is not around 200 (since testing with 1000 clients was successful). The number of failed clients varies but typically around 500. This seems to point to client side issue instead of server side issue?
Testing with more CPUs and RAM (given to JVM) has no significant improvement.
Using a semaphore (5 slots) to limit Bootstrap.connect() seems to solve the issues but that would mean lower application throughput.
I am at wits end and welcome any suggestions and pointers on where to look. Multiple EventLoopGroups? Netty options tuning? TCP options tuning? Anything?
Thank you in advance.
-cs
Beta Was this translation helpful? Give feedback.
All reactions