I have created a .Net framework 4.5 application, I am trying to increase the overall throughput and response time of my application. Currently i am not able to scale further, despite the powerful hardware. Below are some details.
Currently my application through put is 720 Request/Sec, But same java application is giving me 1050 request/sec.
Elastic Cluster: Three Nodes
Windows Server: 8 cores 32 GB Ram.
What is weird is that my cpu consumption is under 30%, even under load and even after giving higher Tcp connection, i don't see that many outgoing connection. Below is my code, any suggestion are welcome.
private static ElasticLowLevelClient _lowLevel;
var connectionPool = new SniffingConnectionPool(nodes);
var config = new ConnectionConfiguration(connectionPool)
.ConnectionLimit(10000)
.EnableHttpCompression()
.SniffOnConnectionFault(false)
.SniffOnStartup(false)
.EnableTcpKeepAlive(TimeSpan.FromMilliseconds(200), TimeSpan.FromMilliseconds(2000))
.DisablePing();
_lowLevel = new ElasticLowLevelClient(config); />```