Spectator

Poor upload performance, lots of jitter

I'm in Brooklyn, NY and use my home connection for watching a video camera and lately the performance has terrible.  Lots of choppiness and low FPS.  This used to work flawlessly but since mid last week has been terrible.  Ran a jitter test with iperf and am getting high percentage of lost packets.  

 

Can anyone help with this?  How do I explain this to their tech support?

 

iperf -s -u -i 10
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 24.105.148.238 port 5001 connected with 67.244.96.216 port 53813
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 3] 0.0-10.0 sec 11.5 MBytes 9.65 Mbits/sec 1.109 ms 207/ 8410 (2.5%)
[ 3] 0.0-10.1 sec 11.6 MBytes 9.67 Mbits/sec 0.854 ms 206/ 8504 (2.4%)
[ 3] 0.0-10.1 sec 1 datagrams received out-of-order
[ 4] local 24.105.148.238 port 5001 connected with 67.244.96.216 port 50044
[ 4] 0.0-10.0 sec 11.6 MBytes 9.76 Mbits/sec 1.166 ms 153/ 8452 (1.8%)
[ 4] 10.0-20.0 sec 12.0 MBytes 10.0 Mbits/sec 1.172 ms 0/ 8533 (0%)
[ 4] 20.0-30.0 sec 12.0 MBytes 10.0 Mbits/sec 1.205 ms 0/ 8528 (0%)
[ 4] 30.0-40.0 sec 11.6 MBytes 9.77 Mbits/sec 1.103 ms 140/ 8447 (1.7%)
[ 4] 40.0-50.0 sec 11.8 MBytes 9.90 Mbits/sec 1.046 ms 70/ 8490 (0.82%)
[ 4] 50.0-60.0 sec 12.0 MBytes 10.0 Mbits/sec 1.001 ms 0/ 8532 (0%)
[ 4] 0.0-60.0 sec 71.0 MBytes 9.92 Mbits/sec 0.860 ms 362/51021 (0.71%)
[ 4] 0.0-60.0 sec 1 datagrams received out-of-order
[ 3] local 24.105.148.238 port 5001 connected with 67.244.96.216 port 65156
[ 3] 0.0-10.0 sec 11.5 MBytes 9.67 Mbits/sec 1.228 ms 183/ 8409 (2.2%)
[ 3] 10.0-20.0 sec 12.0 MBytes 10.0 Mbits/sec 1.278 ms 0/ 8535 (0%)
[ 3] 20.0-30.0 sec 12.0 MBytes 10.0 Mbits/sec 0.934 ms 0/ 8533 (0%)
[ 3] 30.0-40.0 sec 11.9 MBytes 9.98 Mbits/sec 1.184 ms 30/ 8515 (0.35%)
[ 3] 40.0-50.0 sec 11.4 MBytes 9.60 Mbits/sec 1.225 ms 228/ 8389 (2.7%)
[ 3] 40.0-50.0 sec 1 datagrams received out-of-order
[ 3] 0.0-60.0 sec 70.9 MBytes 9.91 Mbits/sec 1.146 ms 440/51021 (0.86%)
[ 3] 0.0-60.0 sec 2 datagrams received out-of-order
[ 4] local 24.105.148.238 port 5001 connected with 67.244.96.216 port 57461
[ 4] 0.0-10.0 sec 11.7 MBytes 9.83 Mbits/sec 1.111 ms 93/ 8452 (1.1%)
[ 4] 10.0-20.0 sec 11.7 MBytes 9.78 Mbits/sec 1.142 ms 138/ 8453 (1.6%)
[ 4] 10.0-20.0 sec 1 datagrams received out-of-order
[ 4] 20.0-30.0 sec 12.1 MBytes 10.1 Mbits/sec 1.286 ms 0/ 8608 (0%)
[ 4] 30.0-40.0 sec 11.9 MBytes 10.0 Mbits/sec 1.161 ms 0/ 8504 (0%)
[ 4] 40.0-50.0 sec 11.7 MBytes 9.79 Mbits/sec 1.478 ms 108/ 8436 (1.3%)
[ 4] 50.0-60.0 sec 11.5 MBytes 9.66 Mbits/sec 1.166 ms 212/ 8430 (2.5%)
[ 4] 0.0-60.1 sec 70.8 MBytes 9.87 Mbits/sec 0.945 ms 550/51021 (1.1%)
[ 4] 0.0-60.1 sec 2 datagrams received out-of-order
[ 3] local 24.105.148.238 port 5001 connected with 67.244.96.216 port 53859
[ 3] 0.0-10.0 sec 11.8 MBytes 9.92 Mbits/sec 1.129 ms 61/ 8494 (0.72%)
[ 3] 10.0-20.0 sec 11.9 MBytes 10.0 Mbits/sec 1.053 ms 0/ 8518 (0%)
[ 3] 20.0-30.0 sec 11.9 MBytes 10.0 Mbits/sec 1.216 ms 0/ 8505 (0%)
[ 3] 30.0-40.0 sec 11.6 MBytes 9.73 Mbits/sec 1.198 ms 148/ 8425 (1.8%)
[ 3] 40.0-50.0 sec 11.9 MBytes 9.96 Mbits/sec 1.098 ms 35/ 8508 (0.41%)
[ 3] 0.0-60.0 sec 71.2 MBytes 9.95 Mbits/sec 1.157 ms 243/51021 (0.48%)
[ 3] 0.0-60.0 sec 1 datagrams received out-of-order

1 REPLY 1
Proven Sharer

Re: Poor upload performance, lots of jitter

I am suspicious that your MTP value of 1470 bytes is not set correctly.  Did you possibly apply a Windows 10 update at around the same time the instability began? 

Also, your video monitoring application uses UDP, not TCP/IP to transport data across the internet.  The UDP data packets are sent blind, without checking for correct packet sequencing or providing any acknowlegement from the receiving end of the path.  Here's why the use of UDP for data such as camera video is less than ideal:

 

TCP stands for Transmission Control Protocol. It is the most commonly used protocol on the Internet.

When you load a web page, your computer sends TCP packets to the web server’s address, asking it to send the web page to you. The web server responds by sending a stream of TCP packets, which your web browser stitches together to form the web page and display it to you. When you click a link, sign in, post a comment, or do anything else, your web browser sends TCP packets to the server and the server sends TCP packets back. TCP is not just one way communication — the remote system sends packets back to acknowledge it is received your packets.

TCP guarantees the recipient will receive the packets in order by numbering them. The recipient sends messages back to the sender saying it received the messages. If the sender does not get a correct response, it will resend the packets to ensure the recipient received them. Packets are also checked for errors. TCP is all about this reliability — packets sent with TCP are tracked so no data is lost or corrupted in transit. This is why file downloads do not become corrupted even if there are network hiccups. Of course, if the recipient is completely offline, your computer will give up and you will see an error message saying it can not communicate with the remote host.

UDP

UDP stands for User Datagram Protocol — a datagram is the same thing as a packet of information. The UDP protocol works similarly to TCP, but it throws all the error-checking stuff out. All the back-and-forth communication and deliverability guarantees slow things down.

When using UDP, packets are just sent to the recipient. The sender will not wait to make sure the recipient received the packet — it will just continue sending the next packets. If you are the recipient and you miss some UDP packets, too bad — you can not ask for those packets again. There is no guarantee you are getting all the packets and there is no way to ask for a packet again if you miss it, but losing all this overhead means the computers can communicate more quickly.

UDP is used when speed is desirable and error correction is not necessary.  For example, UDP is frequently used for live broadcasts and online games.