Low upload speed, dropped frames while streaming to Twitch

faeldray
Grasshopper

I'm hoping someone can give me some advice/insights on this issue because I'm running out of ideas here. First, some background:

  • I'm located in Winnipeg.
  • I'm on the Internet 300 plan, which I think was the biggest plan available at the time? It's been a few years since I signed up, I can't remember exactly.
  • My modem is bridged because I have my own router.
  • I have 2 PCs and a laptop on a wired connection to the router, with my phone on wireless.

Now, my internet has been pretty much great until the last couple of months. Almost no downtime and no other issues. I stream on Twitch as a hobby so it's been great. But starting in late April, I began getting massive amounts of dropped frames on my stream, usually around 60%. I tried restarting my modem and router, factory resetting my modem, restarting my PC, switching out cables, streaming from my second PC, streaming through a VPN, connecting my main PC directly to the modem...nothing fixed it. I contacted Shaw Support who asked me to do the same things, which I did to no avail. They pretty much told me that it must be a problem on Twitch's end. Except I tried switching between Twitch server locations and also tried streaming on Youtube and through Restream and the dropped frames remained.

Hoping that it was just some connection issue somewhere, I waited to see if it would resolve itself over time. So I would run a stream test every few days to check it. And a few weeks later in mid-May, it was back to normal! Fantastic! I streamed for a couple weekends, thinking everything was fine again. Only when I went to stream on May 29, the dropped frames were back again. At this point, I began running auto-running tests on the CIRA speedtest site. While the Shaw speedtests showed more or less normal speeds, the CIRA tests showed my upload as being ~1 Mbps, which definitely is not good.

I contacted Support again, we ran through the usual steps, and eventually they sent out a tech to my home on June 3. He checked things and noticed there was an issue, something about only getting 4 of 8 channels. He replaced my modem and said it should now be fixed, that I was getting 8 out of 8 channels again. I did some speed tests and a test stream while he was here and I was still getting the dropped frames, but he said that it might take a while for the modem to sync or something. So later on that day, the CIRA test showed an upload speed of around 6 Mbps. I did a stream test and there were no dropped frames. Maybe it had been fixed finally.

Nope, that only lasted for about half a day before I got the ~1 Mbps upload speeds again. I've considered the possibility that it's just network congestion due to the pandemic, but it only started happening in the last 2 months and it's not during work hours, it's at all hours. So that doesn't make sense.

I included an export of the CIRA speedtest results at the bottom of the post, with the tests where I got "normal" upload speeds highlighted in yellow. Also, here's the info in the Advanced tab from the last CIRA test I ran.

c2sRate 1189
ClientToServerSpeed 1.189
CountRTT 101
CurMSS 1460
max_c2s 243.58934343431017
max_s2c 281.35914662303816
MaxRTT 56
MinRTT 38
PacketLoss 0.66%
PktsOut 133367
s2cRate 153385.95694399043
ServerToClientSpeed 153.38595694399044
SumRTT 4162
TCPInfo.AdvMSS 1460
TCPInfo.AppLimited 0
TCPInfo.ATO 40000
TCPInfo.Backoff 0
TCPInfo.BusyTime 10064000
TCPInfo.BytesAcked 192687088
TCPInfo.BytesReceived 1163
TCPInfo.BytesRetrans 1284800
TCPInfo.BytesSent 194706268
TCPInfo.CAState 0
TCPInfo.DataSegsIn 3
TCPInfo.DataSegsOut 133364
TCPInfo.Delivered 131982
TCPInfo.DeliveredCE 0
TCPInfo.DeliveryRate 16845017
TCPInfo.DSackDups 0
TCPInfo.Fackets 0
TCPInfo.LastAckRecv 8
TCPInfo.LastAckSent 0
TCPInfo.LastDataRecv 10000
TCPInfo.LastDataSent 0
TCPInfo.Lost 0
TCPInfo.MaxPacingRate -1
TCPInfo.MinRTT 34954
TCPInfo.NotsentBytes 2826560
TCPInfo.Options 6
TCPInfo.PacingRate 21789597
TCPInfo.PMTU 1500
TCPInfo.Probes 0
TCPInfo.RcvMSS 582
TCPInfo.RcvOooPack 0
TCPInfo.RcvRTT 0
TCPInfo.RcvSpace 14600
TCPInfo.RcvSsThresh 64076
TCPInfo.Reordering 3
TCPInfo.ReordSeen 0
TCPInfo.Retrans 0
TCPInfo.Retransmits 0
TCPInfo.RTO 244000
TCPInfo.RTT 41408
TCPInfo.RTTVar 2265
TCPInfo.RWndLimited 60000
TCPInfo.Sacked 0
TCPInfo.SegsIn 7973
TCPInfo.SegsOut 133367
TCPInfo.SndBufLimited 0
TCPInfo.SndCwnd 515
TCPInfo.SndMSS 1460
TCPInfo.SndSsThresh 424
TCPInfo.SndWnd 16776704
TCPInfo.State 1
TCPInfo.TotalRetrans 880
TCPInfo.Unacked 503
TCPInfo.WScale 120
ThroughputValue 153168
TotalSentByte 192687088

So any suggestions as to the cause of the issue would be greatly appreciated. Thanks.

soffice.bin_qn7VtlmBON.png

Labels (1)
0 Kudos
5 Replies

-- something is screwy. Although your "max download speed...

mdk
Legendary Grand Master

@faeldray -- something is screwy.

Although your "max download speeds" are within a few percentage-points of your 300 Mbps service, your "max upload speeds" are way too high.

With the older Hitron cable-modem, it is limited to about 15 to 16 Mbps for upload, and it is limited to about 300 Mbps for download.

With the BlueCurve cable-modem, if you subscribe to 300 Mbps service, and you live in the "correct" region, you should get about 100 Mbps for upload -- definitely not something around the 243 Mbps that you show in the most-recent rows of your report.

These upload numbers could be just "sampling errors".  For example, if you sample every 1 second:

  • 0.000 seconds - 0 Mbps
  • 1.000 seconds - 0 Mbits have been uploaded
  • 1.001 second - 100 Mbits have been uploaded, but nothing between 0.000 and 1.000 seconds
  • 1.999 second - another 100 Mbits have been uploaded
  • 2.000 second -- between 1.000 and 2.000 seconds, 200 Mbits have been uploaded, so 200 is reported
  • 2.500 seconds -- another 100 Mbits have been uploaded
  • 3.000 seconds - 300 Mbits have been sent between 0.000 and 3.000, reporting that an "average" of 100 Mbps over 3 seconds

I would start the Windows "Task Manager", and click to its "Performance" tab, and click on the "network" icon. Minimize the window. Launch the Shaw Speed Test. Un-minimize that Task Manager window, and see if the network speed "ramps-up" to a steady 100, or if you see large "spikes" within the first few seconds. Example:

Capture.JPG

You can see the "ramp-up", then a "flat" top around 300 Mbps, a "ramp-down" (averaging-down after the "download" portion has completed, and then a barely-visible 15 Mbps (1/20 as "tall") for upload.

It might be helpful for you to use the Windows command-line "PING" utility to trace the IP-packets from your computer to the game-server's IP-address, to see on which segment(s) that packets are dropping.

 

 

 

 

 

 

 

0 Kudos
Reply
Loading...

@mdk Thanks for taking the time to respond. I did the Tas...

faeldray
Grasshopper

@mdk Thanks for taking the time to respond.

I did the Task Manager thing like you suggested and here's what the result looked like.

Taskmgr_1JO6uS7spE.png

Here's the speed test if that helps at all.

firefox_40Nny4JtRT.png

Unfortunately pinging the Twitch streaming server doesn't work, they blocked it. I think to stop DDoS attacks. There is a bandwidth testing tool which I ran though, here are the results. Note: the recommended bandwidth for streaming is 4500-6000 kbps.

TwitchTest_KG03AvTVYB.png

As an aside, I don't know if this matters but the modem I just got from the tech visit is a Hitron modem. I don't remember what modem I had before but I had had it for several years. Also, after some thought, I'm pretty sure my internet package was for 150 Mbps download. But when I look at my latest invoice, it says "Internet 300". So I'm not sure what's going on there.

0 Kudos
Reply
Loading...

-- pinging the Twitch streaming server doesn't work, they...

mdk
Legendary Grand Master

@faeldray -- pinging the Twitch streaming server doesn't work, they blocked it.

My mistake. Instead of "PING", which only shows "end-to-end" response-time, I should have written "TRACERT", which shows the "path" (through multiple routers) that are used by your connection. Give it a try.

 

> Note: the recommended bandwidth for streaming is 4500-6000 kbps

That is 4.5 Mbps to 6.0 Mbps, and your Shaw Speed Test is showing over 300.0 Mbps for traffic "inbound" to your computer, and 13.3 Mbps (but the 8.8 number was observed near the end of the upload test) for traffic "outbound" from your computer to the game-server.  So, you definitely have "enough" speed to exceed their recommendation.

 

Via the My Shaw Portal, you can download the most-recent 24 monthly invoices. Do they all say "Internet 300" ?

 

0 Kudos
Reply
Loading...

My mistake. Instead of "PING", which only shows "end-to-e...

faeldray
Grasshopper

@mdk My mistake. Instead of "PING", which only shows "end-to-end" response-time, I should have written "TRACERT", which shows the "path" (through multiple routers) that are used by your connection. Give it a try.

Traceroutes are also blocked once they reach Twitch servers, this is what it looks like though:

$ tracert live.twitch.tv

Tracing route to yto.contribute.live-video.net [52.223.243.219]
over a maximum of 30 hops:

1 <1 ms <1 ms <1 ms 192.168.0.1
2 9 ms 16 ms 9 ms 24.78.32.1
3 10 ms 14 ms 10 ms rc3sc-be102-1.wp.shawcable.net [64.59.179.241]
4 26 ms 25 ms * rc4ec-be25-1.il.shawcable.net [66.163.75.134]
5 27 ms 35 ms 31 ms rc3ec-be6-1.il.shawcable.net [66.163.65.69]
6 rc4ec-tge0-0-0-3.il.shawcable.net [66.163.65.50] reports: Destination net unreachable.

Trace complete.

I can however do a complete traceroute to the Youtube streaming servers, where I also get dropped frames when I try streaming to it (so the issue is not isolated to Twitch).

$ tracert a.rtmp.youtube.com

Tracing route to a.rtmp.youtube.com [142.251.33.108]
over a maximum of 30 hops:

1 <1 ms <1 ms <1 ms 192.168.0.1
2 12 ms 11 ms 10 ms 24.78.32.1
3 14 ms 11 ms 11 ms rc3sc-be102-1.wp.shawcable.net [64.59.179.241]
4 26 ms 28 ms 35 ms rc4ec-be25-1.il.shawcable.net [66.163.75.134]
5 25 ms 25 ms 30 ms rc4ec-tge0-0-0-5.il.shawcable.net [66.163.65.14]

6 26 ms 29 ms 29 ms 108.170.243.225
7 25 ms * 27 ms 108.170.243.254
8 28 ms 29 ms 26 ms 209.85.241.123
9 35 ms 35 ms 37 ms 72.14.232.70
10 61 ms 60 ms 61 ms 108.170.227.203
11 59 ms 59 ms 60 ms 142.250.228.151
12 57 ms 57 ms 56 ms 74.125.243.193
13 57 ms 58 ms 57 ms 142.251.50.177
14 59 ms 56 ms 67 ms sea30s10-in-f12.1e100.net [142.251.33.108]

Trace complete.

 

That is 4.5 Mbps to 6.0 Mbps, and your Shaw Speed Test is showing over 300.0 Mbps for traffic "inbound" to your computer, and 13.3 Mbps (but the 8.8 number was observed near the end of the upload test) for traffic "outbound" from your computer to the game-server. So, you definitely have "enough" speed to exceed their recommendation.

I realized that I forgot to specify that the 4.5-6 Mbps recommendation is for the upload speed (since streaming is basically just sending a live video to their servers). So that's mainly what I'm concerned with because I haven't noticed any issues with my download speed. The Shaw Speed Test may say that my upload speed is 13.3 Mbps but unfortunately in practice, it's more like the 1 Mbps the CIRA test shows.

For example, yesterday I saw that the automatic CIRA tests showed that I had a better upload speed (6.6 Mbps). So when I got the chance, I started streaming and hoped that it would last for a while. It did for almost 2 hours before the upload speed cratered again at 1.2 Mbps. You can see in the spreadsheet below what the results were. The row highlighted in yellow is when I noticed the increased speed, green was me manually running the test again before I streamed, and pink is when the upload speed began to drop again.

soffice.bin_Qg3Zf3hlTp.png

Because I was streaming at the time, there's also a record of my connection quality on Twitch inspector. You can see that for most of the stream, I was able to maintain the 4.5 Mbps bitrate / 60 FPS that I stream at, before the connection becomes unstable at about 9:20 PM and it becomes more like 3 Mbps with 20 FPS (the frames being dropped).

screenshot-inspector.twitch.tv-2021.06.06-22_20_11.png

 

Via the My Shaw Portal, you can download the most-recent 24 monthly invoices. Do they all say "Internet 300" ?

I checked all my invoices for the past 24 months and they do say "Internet 300" so maybe I'm just misremembering what package I bought.

0 Kudos
Reply
Loading...

-- 3 10 ms 14 ms 10 ms rc3sc-be102-1.wp.shawcable.net [64...

mdk
Legendary Grand Master

@faeldray --

3 10 ms 14 ms 10 ms rc3sc-be102-1.wp.shawcable.net [64.59.179.241]
4  26 ms 25 ms *         rc4ec-be25-1.il.shawcable.net [66.163.75.134]

So, one "trace" packet dropped between Shaw's routers in Winnipeg and somewhere in Illinois.

Shaw only has a few "cross-border" connections into the USA: Vancouver, Winnipeg, and probably one in Ontario. So, that's a lot of traffic to "flow". Also, as you have noticed, some routers are configured to NOT respond to "overhead" packets, such as used by PING and TRACERT, or to treat them as "lowest-priority" traffic.

6 26 ms 29 ms 29 ms 108.170.243.225
7 25 ms *          27 ms 108.170.243.254

Another dropped packet. All "108.170.243.xxx" IP-addresses are within Google's network, not within Shaw's network.

> The Shaw Speed Test may say that my upload speed is 13.3 Mbps but unfortunately in practice, it's more like the 1 Mbps the CIRA test shows.

The Shaw Speedtest always gives the highest numbers, because it is measuring the speed between your cable-modem and a Shaw web-server that is located "nearby" on Shaw's network (Vancouver, Kelowna, Calgary, Edmonton, Winnipeg).

The results from Shaw show that you are getting better than the "Internet 300" speed you are paying for, and about 10% less than the 15 Mbps that you should be getting.  My results for my "Internet 300" contract:

Capture.JPG

I did the screen-grab before the upload test completed.

So, you might have a small issue with your cable-modem being slightly "out-of-spec", since you're not getting "15" (or slightly better).  Contact Shaw, and ask the Shaw Agent to remotely logon to your cable-modem, and view & interpret the statistics that the modem is keeping, looking for something "out-of-spec".

The CIRA site has servers in Vancouver, Calgary, Winnipeg, Toronto, Montreal, and Moncton.  So, its test is measuring "cross-Canada" speed, and maybe to an Amazon AWS server located outside of Canada.

Drive to the corner-store for a liter of milk, or drive a few kilometers to a Costco. Same vehicle. Same streets, for the first few blocks, but it's going to take much longer to go through many intersections (or network routers).

All it takes for your drive to Costco to take a much longer-than-normal time is some congestion (or a traffic accident) somewhere along the route you (or your packets) take to Costco (or to Twitch). Unless you have access to traffic-cameras on the route you are driving (network engineers monitoring the load on each segment between routers), you just don't know where a temporary "bottle-neck" on the roads (or the "Internet Superhighway") has occurred.

Can you blame Shaw for your varying network throughput?  Not likely, in my humble opinion.

A trace-route to Shaw's "end-point" router in Illinois seems to show normal "round-trip" timings:

  6    34 ms    33 ms    34 ms  rc3so-be82.cg.shawcable.net [66.163.76.10]
  7    53 ms    48 ms    47 ms  rc3sc-be110-1.wp.shawcable.net [66.163.76.62]
  8    63 ms    63 ms    62 ms  rc4ec-be25-1.il.shawcable.net [66.163.75.134]

Me -> Calgary -> Winnipeg -> Illinois

 

 

 

0 Kudos
Reply
Loading...
TALK TO US
We're here to help