Note that there are some explanatory texts on larger screens.

plurals
  1. POC# TCP Asynchronous connection actively refused with low CPU utilization
    primarykey
    data
    text
    <p>I have a C# TCP Asynchronous socket server.</p> <p>Testing locally, I can accept 5K connections over 35 seconds. I am running a quad core hyper threaded PC (8 threads) and the utilization is ~20-40% on each core. As the connections are accepted, the server asks the client for a bunch of data and then performas a bunch of database entries.</p> <p>I moved the server application and SQL database to a small database and medium server instance on Amazon AWS.</p> <p>The Amazon Medium server(EC2) is 1 virtual core and 2 ECU's. From what I can tell it only has 1 thread.(from performance monitor)</p> <p>If I try to connect 1000 clients over 35 seconds to the medium server. After ~650 connections i start to receive <em>Connect failed(b) No connection could be made because the target machine actively refused it</em>. </p> <p>Looking at performance monitor, I noticed that the CPU utilization is only ~10-15%. </p> <p>I am guessing that the core is not getting loaded because it is trying to handle a huge queue of connections, of small operations and does not provide enough load to increase CPU usage, since the server only has 1 virtual core.</p> <p>Does anyone have any experience with this, does my theory make sense? I am stuck at a hardware limitation? (need to bump up the server size?)</p> <p>If not, any ideas how to get more utilization and support more/quicker connections?</p> <p>Does anyone have experience with this?</p> <p>EDIT: </p> <p>I upgraded my instance on Amazon EC2 to the High CPU Extra Large instance.</p> <p>The Instance now has 8 cores and 20 ECU's. </p> <p>I am experiencing the same problem, I get No connection could be made because the target machine actively refused it after ~600 connections.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload