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. Sep 1, 2017 at 7:21
  • It didn't let me accept initially.
    – rollsch
    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
    Aug 27, 2017 at 23:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.