2 ms·
See here: https://dl.dropboxusercontent.com/u/4555798/kreitzspotify_kth_kista14.pdf https://dl.dropboxusercontent.com/u/4555798/kreitzspotify_kt... The 200ms l
by jamesblonde 12y ago
See here:
https://dl.dropboxusercontent.com/u/4555798/kreitzspotify_kth_kista14.pdf https://dl.dropboxusercontent.com/u/4555798/kreitzspotify_kt...
The 200ms latency 'wasn't possible' because of how TCP congestion control works. Spotify used to use 2 channels for downloading - the first chunks would come from their servers, then you would try and download the rest of the song and do read-ahead on the p2p network. Consequently, the TCP connection to their servers would be idle for a bit causing the congestion window size to drop back to 1 segment (1500 bytes) in size. Over higher latency networks (wireless), TCP slow-start could take up to a couple of seconds to get up to speed, as you need a RTT to increment the segment size. Spotify's trick was to build (compile, more likely :)) a version of TCP on their servers that prevented the congestion window from connected clients from dropping back.