I was downloading several driver packs the other day for new laptops and other computers. Each model has separate drivers for Windows 7 and Windows 8.1, so that doubles the number of downloads needed. As I was downloading the drivers, which were quite large and took some time, I noticed I could get six downloads started but the seventh one would just spin. The seventh download idled until another download completed. It seemed Google Chrome was enforcing the maximum number of connections I was allowed to the server.
This was not an experience-ruining issue but it was annoying. It would have been nice to queue up each of my necessary downloads and then turn my attention to something else while the downloads trickled down.
Researching the issue, I found a six year old Chromium issue asking the same question. The discussion is fairly interesting and explains the different Chrome settings for keep-alive/persistent connections and normal connections. While Firefox sets max-connections-per-server for its browser to 15 and allows configuring the value between 1 and 255, Chrome is hard-coded to six connections per server.
The discussion in that bug report wavers back and forth while never coming to a conclusion. There are two main problems presented: those using proxy servers are very limited and certain web apps like Gmail (back then, at least) used up their six connections. The proposed solution is for apps like Gmail using so many connections to switch to Web Sockets while the connection limit should be automatically determined by a function that takes into account available bandwidth and server health.
It was proposed to allow unlimited connections per server or to at least raise the limit to 15, similar to Firefox. Unfortunately, the issue thread got closed as ‘WontFix’ while essentially coming to the conclusion:
“Since we can’t come up with the perfect solution, we won’t implement any fix.”
So, we still have the issue today…