0

The QoS by Microsoft have a limitation for how many connections that can work?

I'm using the sample of Microsoft on github

What I'm doing here it's to compile. Run the program sending packets to any computer on my network with some bitrate. The define BURSTS_PER_SECOND it's setted to 1000 and the DATAGRAM_SIZE setted to 150 * 150

// Size of the data part of each datagram that is exchanged between the
// client and the server. This does not count the IP and UDP header.
#define DATAGRAM_SIZE       150 * 150

// Number of bursts we are aiming for per second
#define BURSTS_PER_SECOND   1

When I run one program, I can see:

         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |

As you can see, the bitrate it's always constant and the number of packets too. When I open the second instance sending the same data with same parameters, everything works fine.

But when I open one more, I can see:

         3 |     540000 |     N/A     |     N/A    |
         0 |          0 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         0 |          0 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |
         3 |     540000 |     N/A     |     N/A    |

Sometimes I get 3 packets sended in one second and other 0 packets. The burst time it's setted to 1 second but with 3 instances (three different processes) the time grows to 1500ms. And every new instance will make the problem more intensive. And when I close all instances letting just two or one, everything runs well as before.

My issue here is: Windows have some limitation with QoS? Why I can't open 3 instance of QoS? My network it's not busy (i'm sending small data).

I'm doing something wrong?

Kevin Kouketsu
  • 786
  • 6
  • 20
  • regarding: `#define BURSTS_PER_SECOND 1` this does not match the text of your question that states 1000 bursts per second. – user3629249 Dec 06 '19 at 04:41
  • Your statement says the datagram size is 150x150. (I.E. 22500 bytes per packet) 1) there is no guarantee that a datagram will ever be received. 2) Ethernet packets are (typically) broken into (approx) 1600 bytes each. so several packets will be sent for each of the `send()` or `sendto()` or `write()` statements executed. However, how are we to know what your code is actually doing when you haven't posted a [mcve] so we can reproduce the problem so we can help you debug it. – user3629249 Dec 06 '19 at 04:46
  • regarding: `I'm doing something wrong?` Perhaps the interface is being overloaded. How can we tell when you have not provided the code? – user3629249 Dec 06 '19 at 04:51
  • @user3629249 the code is the same as Microsoft Sample (link on post). Sorry for my mismatch. The time to send it's 1000ms. The main question is: my network can send 1Gbits normally with QoS without problems. But when I distribute on 3 QoS connections of 300Mbits, the problem occurs. Even with 1Mbits. Don't make sense. The amount of data is the same or less. – Kevin Kouketsu Dec 06 '19 at 11:49
  • @user3629249 my real problem is using MPEGTS of LIBAV but with MS sample I can reproduce the same, descarting a problem with my QoS control code. I can control the bitrate and I can keep stable with maximum of 2 QoS connections (128k per audio channel, 16 audio channels, with overhead of TransportStream). When I open one more, the problem occurs (the data it's not sended as before). – Kevin Kouketsu Dec 06 '19 at 11:51

0 Answers0