I have a fluentd server that is processing an average of 1000 req/s. This server is composed by 32 cpus. In this server are running 32 fluentd docker containers with the same configuration. The entry point of the server is an nginx as a load balancer configured with round-robin algorithm and send it to the differents containers. Both, containers and nginx, listen on 24224/tcp.
The input of this nodes is 6 C# applications that use fluent-logger-csharp to send to fluentd server. So, for each app open one connection to the Fluentd Server and due to the large traffic, the app keeps open the socket. This causes that only 6 of 32 docker is processing requests.
How you could better use of server utilization without modifying the C# client?