Followup from this problem https://stackoverflow.com/questions/45768893/git-clone-in-windows-much-slower-than-in-linux/45893258#45893258

Windows 10 HTTPS traffic is capped about 200-240kb/s. HTTP traffic can easily reach 8mb/s

This is the same via cabled ethernet or wifi. It is also the same if I plug my PC directly into my HFC cable outlet with no router or firewall.

I have tried another Windows 10 PC with the same issue (same Windows install).

What could cause HTTPS to be 40x slower than HTTP in Windows 10?

I am running Microsoft Windows [Version 10.0.15063] x64 Enterprise

If I run a Kali linux VM in my windows host using a bridge network connection I can obtain 8mb/s via HTTPS. If I set the Kali linux VM to NAT then the speed drops to 200kb/s

If I run a Windows XP VM in my Windows 10 host I get 200kb/s from HTTPS regardless of NAT or Bridged.

edit: I forced my MTU to 576 and confirmed with the following wireshark dump to bitbucket. Speed still ~200kb/s

Frame 147: 590 bytes on wire (4720 bits), 590 bytes captured (4720 bits) on interface 0
Ethernet II, Src: JuniperN_28:63:ca (d4:04:ff:28:63:ca), Dst: Giga-Byt_3c:b0:19 (90:2b:34:3c:b0:19)
Internet Protocol Version 4, Src:, Dst: x.x.x.x
Transmission Control Protocol, Src Port: 443, Dst Port: 40796, Seq: 10142, Ack: 528, Len: 536
Source Port: 443
Destination Port: 40796
**[TCP Segment Len: 536]**
0101 .... = Header Length: 20 bytes (5)
Flags: 0x010 (ACK)
Window size value: 30552
[Calculated window size: 30552]
[Window size scaling factor: -2 (no window scaling used)]
Urgent pointer: 0
[SEQ/ACK analysis]
**TCP payload (536 bytes)**
[Reassembled PDU in frame: 152]
**TCP segment data (536 bytes)**

edit: Tried the following netsh int ipv4 reset netsh winsock reset reboot.

Found that IpV6 enabled HTTPS is faster at 3.5mb/s, ipv4 HTTPS is only ~200kb/s

Windows 7 laptop I have available can max out HTTPS at 8mb/s Both windows 10 machines only get ~200kb/s download via HTTPS

Tried disabling firewall, no router etc.

2 Answers 2


problem solved.

netsh interface tcp show global

netsh int tcp set global autotuninglevel=normal

auto tuning was set to disabled for some reason on all my windows 10 PCs

  • 1
    Answering your own question is fine, but please remember to mark it as the preferred answer. Commented Sep 1, 2017 at 7:21
  • It didn't let me accept initially.
    – rollsch
    Commented Sep 1, 2017 at 22:21

I am on Windows 10 and HTTPS traffic is certainly not capped, as it is now used by practically all websites.

What you may try is :

  1. Disable your firewall.

  2. Reboot is Safe mode with network, to verify if this is caused by some installed product.

  3. In Control Panel / Internet Options, Advanced tab, scroll down to the Security section and uncheck "Use TLS 1.2" and reboot.

Question: Does this problem arrive with more than one browser?

  • it occurs at all layers. if I bridge kali linux to my windows host it is not slow, if I use NAT it is slow. Appears to be occuring at a deep layer within windows. Eg Git clone is slow via SSH and HTTPS. I've tried using OpenSSL and that is also slow. I will try your suggestion and report back.
    – rollsch
    Commented Aug 27, 2017 at 23:54

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .