28 ms·
Why is the Internet so Slow?
- jpl56 9y agoLet's add to that all the fuss that occurs to deliver us ads according to our recent navigation ... Improving physical delays will not speed up browsing!
- fredley 9y agoTL;DR: TCP and DNS, which is what you would expect. If you want light-speed internet, send UDP packets with a laser.
- IndrekR 9y agoOr any form of electromagnetic wave passing media with low dielectric constant. Like microwave communication in athmosphere. Speed of propagation in typical cable is around 66% of c. That is not too bad. More latency is probably caused by buffering. Speed of light is just too low. We should get a lobby-group working on it and the limiting laws of physics.
- fredley 9y agoAFAIK (and I don't know much), c is also a huge limiting factor in processor design, since high-enough clock speeds put a hard cap on how far a signal can travel between ticks, even assuming perfect components. Agree that c is too low and we should attempt to simulate a universe in which it is higher and go live there instead.
- pjc50 9y ago(source: used to write chip design software) The timing calculation approximation we used had no term for 'c' in it at all. The simple approximation is just an RC timing curve: total capacitance of the wire and gates that you need to change, through the on-resistance of the driving FET. The more complex version treats each wire as a transmission line and incorporates its inductance, but ultimately for electrical signals travelling in a medium near a ground the important factor is the dielectric, not the speed of light. The other massive limiting factor in processor design is heat conduction.
- the8472 9y agoYou really shouldn't be complaining about the speed of light. We're leaving a lot on the table by sending the data along the surface of earth instead of through it. With neutrino-based signalling you eliminate both the lower propagation speed and the suboptimal path.
- RangerScience 9y agoYou should check out "spark gap radio". Basically, lightning causes ripples in the Earth's electromagnetic sphere. Those ripples travel across the surface of the earth at an apparent speed that's faster than light, because the actual path is through the earth.
- sgift 9y agoHas neutrino-based signalling been achieved or is it still a research topic? Last time I read about it it was more a case of "if we could do this it would be great, but we have no idea how to do it" and a quick Google search only brought a Forbes article from 2012 which had a similar sentiment.
- the8472 9y agoThe OPERA experiment (of false FTL neutrino discovery fame) did create and detect neutrino pulses as part of their experimental setup. It's possible as far as the physics go but also impractical given the particle accelerator and detectors needed. And the post-processing the scientists had to do to tease out the timing information also would negate any latency advantage.
- dukwon 9y ago> Has neutrino-based signalling been achieved or is it still a research topic? An accelerator- or reactor-based neutrino experiment can detect whether the source is on or off, so in principle you can send binary information. This has been demonstrated using NuMI/MINERvA [1]. It's more of a novelty than anything practical. [1] https://arxiv.org/abs/1203.2847 https://arxiv.org/abs/1203.2847
- xaedes 9y ago
- deleted 9y ago[deleted]
- dx034 9y agoOr soon via low orbit satellite networks. Should be able to speed up latency between continents (and not as expensive as the microwave towers that high frequency traders use).
- DamonHD 9y agoAcross the Atlantic (eg NYC to LDN) I continue to propose to just skim the surface using a line of sharks with laser repeaters (and beams)...
- cathleenv87 9y agoYou should move to Romania. https://motherboard.vice.com/en_us/article/jp5aa3/why-romanias-internet-is-so-much-faster-than-americas https://motherboard.vice.com/en_us/article/jp5aa3/why-romani...
- jeron 9y agoExcept this is physical infrastructure, not protocol related...
- baybal2 9y agoA lot of latency inflation over past 10 yeara came from increase in L3 switchings over L2. Nowadays, you can have over 10 IP switching in DCs, and within the last mile. You also get more hops thanks to some backbone networks abandoning MPLS in favour of native routing/packet labeling. In Romania, as I understand, networks are largely free of L3 switching overhead thanks to large portion of networks running pure L2
- vbernat 9y agoMost switches are routing switches and the same pipeline is used for both L2 switching and L3 routing. There is no sensible difference in switching and routing unless the switch has the ability to completely disable L3 routing. The typical latency is 500ns in store-and-forward mode (cut-through fallbacks to store-and-forward in most situations). If L2 processing could be done in 300ns, this is 200ns. With 10 routers, this is 0.002 milliseconds. Not something noticeable. Even if you compare with cut-through switching which could lower the latency to 50ns, that's still only a 0.005 milliseconds penality.
- baybal2 9y agoMy measurements give me from 10ms to 50ms for IP routing on mainstream hardware (for the whole route). L2 switching is faster than IP routing because even cheap "smart" L2 hardware come with hardware acceleration, but a typical non-core router for a mid-tier ISP is usually a consumer grade, PC hardware based router.
- 3pt14159 9y agoIf you want an easy speed up and you use a modern version of nginx, which you should for many reasons but chiefly performance and security. Add these lines to your nginx config file: # Only support HTTPS and enable http2 # which will allow you to multiplex requests. # In a separate config do a 301 from normal HTTP # for all paths / subdomains. listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; # Make TCP send multiple buffers as individual packets. tcp_nodelay on; # Send half empty (or half full) packets. tcp_nopush on; It reduced our page load time by around 75%, and more for people accessing the site from the other side of the world.
- jstanley 9y agoI just tried this and was unable to measure any difference. Variation in page load times far outweighed any difference the config change might have brought. So, YMMV. From a theoretical standpoint I agree http/2 should help (although in practice I didn't measure any difference). I can't see why tcp_nodelay would help except in extremely niche applications (sending tiny responses with lots of pauses?)
- DamonHD 9y agoMy evidence is that HTTP/2 doesn't help much if at all for lightweight sites, especially if the site manages to hit my target of the first 10kB hitting the client rendering all the above-the-fold information, and especially if the clients are reasonably close to the server. Indeed, given that HTTP/2 forces TLS (for any mainstream browser) which forces an extra RTT, for light pages my evidence is that HTTP/2 makes things marginally worse... http://www.earth.org.uk/note-on-carbon-cost-of-CDN.html http://www.earth.org.uk/note-on-carbon-cost-of-CDN.html
- zucchini_head 9y agoI'm not very experienced with these nginx settings. Could you explain how this improves speed so much for you? It seems that you've followed [1] by the similarity of what that suggests to what you've suggested. tcp_nodelay seems to force it to not wait 0.2 seconds, which nginx does so that it doesn't send lots of really small packets. I can see this increasing speed by 200ms (a lot) but increases network traffic as a cost. tcp_nopush seems to be about optimising each packet sent, reducing the total size of them. Interesting stuff though! [1] https://t37.net/nginx-optimization-understanding-sendfile-tcp_nodelay-and-tcp_nopush.html https://t37.net/nginx-optimization-understanding-sendfile-tc...
- lucozade 9y agoDid I read this correctly? Is it saying that a general internet connection, without specialist low latency connectivity, is only 37x slower than its theoretical minimum? That's astonishingly good. It's great that they think they can do better but bloody hell. It's indistinguishable from magic.
- arethuza 9y agoIndeed - I've been using the Internet since the early 1990s and I'm constantly amazed that I can be playing a multi-user game (e.g. WoT) with tens of people in multiple countries and get sub 50ms ping times.
- maccard 9y agoWhat's even more impressive is how games like WOT hands multiple users with different latencies, and how they attempt to hide that from you! Reminds you that the ping number you see on screen is (almost) meaningless when you start to dig into it
- threepipeproblm 9y agoYou're saying that achieving 2.7% of the theoretical efficiency is good? Many car engines have an efficiency of around 20% for example, as compared to the maximum theoretical efficiency of 67%. If car engines performed only well enough to meet your standard of amazingness, your gas costs would be 7 or 8 times higher. Or if you used a modern Toyota engine for comparison, something like 14 times higher. Obviously I took an example from a different sphere for comparison... if you really find this to be an astonishing result can you elaborate?
- amiga-workbench 9y agoJavascript.
- zucchini_head 9y agoWell, the internet essentially was born from scientists displaying their research and papers, linking to other scientist pages, experiment data, and so on. The early internet was essentially a fancy FTP server with a bit of Times New Roman paragraphs in. That's why web-servers were originally called Internet _Information_ Services (IIS). Because it was designed to be essentially an online library. Then of course commercial, social, political, and many other areas jumped on board. People found out that sales (if you was commercial), views (if you were political or social), and whatever you were aiming for essentially, magically increased if you made your website _look_ better. It's how humans have always worked. This gave birth to an arms race where the weapon of choice was including increasingly advanced ECMAScript code into your website. From this the modern web was born. (i'm simplifying a lot here, but that is generally the very quick overview as to how I experienced it over the last 2 decades).
- dom0 9y agoI don't get the downvotes; the slowness of most slow web pages is clearly caused by shitty JS.
- panic 9y agoThe internet and the web aren't the same! They're measuring the time it takes to fetch an HTML resource, which doesn't involve JavaScript.
- c3833174 9y agoThe article is about latency, and websites relying dozens of sequential requests caused by scripts are certainly the most affected by latency.
- deleted 9y ago[deleted]
- kingosticks 9y agoThe idea that browsing the modern web transfers "tens of kilobytes of data" is pessimistic. I think you can argue bandwidth constraints in the real-world are real. Improving the underlying stack is one thing and would obviously bring improvements, but browsing speed won't be one of them. If you make responses faster, they'll be able to stuff more garbage in those responses.
- panic 9y agoIf you're thinking, "it's fast enough!" -- remember that a system's performance determines what you're able to build on top of it. If GPU designers had said "it's fast enough" ten years ago, for example, modern neural-net AI may never have happened. It's easy to imagine doing the same things faster, but it's harder to picture the new things that a lower-latency Internet would make possible.
- IshKebab 9y agoI don't think anyone that has ever used Skype, VoIP, Facetime, etc has thought "this is fast enough".
- yjftsjthsd-h 9y agoA fair question might be whether that's an issue with the internet, or the way it's used. In particular, p2p chatting vs going through a central server comes to mind. And a point comes when speed is constrained by the speed of light (especially for latency sensitive applications).
- _jal 9y agoNo, but there are plenty of people from Comcast, Rogers, et al and, significantly more importantly, U.S. regulators who are busy telling us that everything is "fast enough" that we don't need competition.
- viraptor 9y agoActually, I think ~10mbit is fast enough. You can easily use Hangouts/Skype with good quality video on that kind of link. The problems are elsewhere: it's not stable enough, and it's not responsive enough. Anything faster is just a cherry on top. Sure, files download faster, you can stream 4k, etc. But I'd say that's luxury which you could choose. Lower speeds are "enough" for a lot of people.
- Pxtl 9y agoThis. If I had perfect QOS where I knew foreground tasks would dominate my bandwidth and connection would never be interrupted and latency would be low and packet-loss would be negligible? I would be perfectly happy with 10mbit. I'm not downloading images that often.
- infinisil 9y agoETHZ is developing a new kind of internet architecture: https://scion-architecture.net/ https://scion-architecture.net/ It's deployed in some places and working already. Citing from the webpage: > SCION is the first clean-slate Internet architecture designed to provide route control, failure isolation, and explicit trust information for end-to-end communications. Also it will reduce latency, increase throughput and more, as mentioned in the papers. The project has really been getting traction in recent years, it may just become our new internet base layer. Currently the people at ETHZ are working on verifying router hardware mathematically to guarantee SCION's properties.
- majewsky 9y agoFixed link that doesn't fail on incorrect certificate: https://www.scion-architecture.net/ https://www.scion-architecture.net/
- tutanchamun 9y agoThanks, is there a reason for sites not 301 redirecting non-www to www urls or vice-versa? Wouldn't that help to avoid problems like these? They also don't implement any security headers: https://observatory.mozilla.org/analyze.html?host=scion-architecture.net https://observatory.mozilla.org/analyze.html?host=scion-arch...
- majewsky 9y agoThat wouldn't help. If you go to https://foo https://foo, before the server can even redirect you to https://www.foo https://www.foo, it has to present a valid cert for foo without www.
- tutanchamun 9y agoThanks for the answer. :)
- jerardope 9y agoVery interesting approach. I've read about SCION before. I believe, however, that its goal is primarily security. The reduced latency claim simply comes from the fact that they try to restrict routing in such a way that, for example, traffic with source and destination both in the US will never leave the US because of some weird routing policies. I'm not sure about this. Somehow, it seems to be against the principles of a truly free internet.
- duke360 9y agoit it really interesting but simply "ignore the technical challenge for now" makes the Whole discussussion pointless, as the problem here ARE the technical challenges that a zero latency (above the theoretical limit) network implies... Anyway it is good to know the numbers: in my opinion a 37x factor, in this case is not so bad
- agumonkey 9y agoNo mention of bufferbloat, it's in mainline linux since a few releases now. If all devices used these patches or applied the same logic, could it also work ?
- IanKelling 9y agoCDF = cumulative distribution function People who care about how fast the internet is are not the same set as people who know statistics acronyms, and they don't show up in a simple web search. You know how else we can make the internet better and faster? Publishing articles with software and licenses that make it easy for people to improve and share your article.
- enthdegree 9y agoIf you are unfamiliar with basic statistical concepts it is hard to believe you will be able to provide any compelling contributions to making the internet faster.
- madengr 9y agoWell at least it's not a CCDF.
- DamonHD 9y agoNo, that really doesn't follow. Some classes of issues will be better solved if the solver understands stats. M/M/1, distributions, percentiles, etc, yes. If only I understood them... By my local major London paper somehow needs 4MB of crap and >60s to display a 2 para story. I don't need anything as subtle as "stats" to tell them that they're holding it wrong and why I avoid their site like the plague.
- dungle6 9y ago> People who care about how fast the internet is are not the same set as people who know statistics acronyms Good one.
- zkms 9y agoSince the OP compared Internet latencies to the speed of light in glass...look up 802.1CM/IEEE1904.3 or "CPRI over Ethernet"/"Radio over Ethernet"! Those describe techniques for conveying LTE baseband signals (digital I/Q-samples) over Ethernet -- so the radios can live far away from the equipment that speaks the physical / MAC / radio-resource-control layers of LTE. There are strict latency/jitter requirements involved (the phone and the eNB run a very fast automatic-repeat-request protocol between each other, too much latency breaks the loop) -- and large (but predictable) data rates involved. Read https://drive.google.com/file/d/0B6Xurc4m_PVsZ1lzWWoxS0pTNVE/view https://drive.google.com/file/d/0B6Xurc4m_PVsZ1lzWWoxS0pTNVE... for a general introduction about latency in Ethernet/IP networks and http://www.ieee802.org/1/files/public/docs2016/cm-chen-fronthaul-bandwidth-analysis-0716-v01.pdf http://www.ieee802.org/1/files/public/docs2016/cm-chen-front... for an introduction to the "radio over ethernet business" Even if you're not trying to send radio baseband data over ethernet networks -- there's lots of noticeable queuing going on, everywhere. It's not just the unmanaged and pathological "bufferbloat" queues (that occur when a device has a network link much faster than its other network link) -- there's little queues that are used for tasks like: * frame aggregation * holding onto data until a shared medium is idle * for scheduled systems like DOCSIS or LTE, holding onto packets until an uplink grant has been given -- or holding onto packets until a station's downlink grant/timeslot becomes active * inter-device communication (usually with ring buffers or the like) * any processing/forwarding that isn't of the cut-through flavour usually involves queuing at least a single frame * context switching / memory copying / interrupts Retransmission mechanisms can introduce latency as well -- if there's no special channel for acknowledgements, they'll use up airtime, and if data needs to be retransmitted, it might induce delays for never-transmitted data that's waiting for its first transmit opportunity. In general, unless you're actively being paid to stomp out every imaginable source of latency, there'll be little queues living everywhere in your system -- from TCP's queues right on down to the CPU's store buffers-- because queuing is the natural way to cope with subsystems that produce/consume at different rates.
- eru 9y agoIf you are interested in bufferbloat and TCP, Google's BBR is a really interesting attempt at solving part of the problem. See http://queue.acm.org/detail.cfm?id=3022184 http://queue.acm.org/detail.cfm?id=3022184 BBR is a sender-only modification to TCP that basically solves the problem of large buffers.
- nspattak 9y agobecause applications are written with the "if it is not un acceptable it is acceptably fast" mindset
- exabrial 9y agoBecause every time we get faster connections, we download more the client and force more client side processing. Angular and friends are just causing a worse user experience, not a better one. We also don't take advantage of DNS enough. We should/could use it to pass along information about the client's ISP to locate a server one or two hops away from the client. DNS could easily solve the IPV4 with SRV records, but instead, we allow service location to happen at the TCP level. The internet _could_ be fast, but it's not :/
- grovegames 9y agoHow is angular making the web slower. An angular project can sit somewhere in the 130kb range, with lighter frameworks like vue sitting at 30kb. These are smaller than most images or gifs used on the web. So the trade-off is one image on your page, or a robust RIA experience, with much more maintainable code. If you build it correctly, you're decreasing the amount of bytes on the wire significantly when using client side frameworks, over re-rendering each and every page on the server for every interaction. I also maintain a large vanilla javascript application that was written before I arrived, and the javascript weighs in at almost 5MB, and we have a general no touch policy on it because of how fragile the vanilla javascript is. It was poorly written, but even a poorly written vue app, would come in at much less than the 5mb JS. I just don't buy this as the reason the web is slow.
- exabrial 9y agoThis comment makes my head hurt
- freeflight 9y agoThis past comment chain might be quite relevant: https://news.ycombinator.com/item?id=12692595 https://news.ycombinator.com/item?id=12692595
- _jal 9y ago> So the trade-off is one image on your page, or a robust RIA experience If I had the choice, I'd take an additional image in that trade, thanks. The 'rich' 'experiences' I've been offered so far are inferior to bog-standard web pages. I'll grant you that it is friendlier to coders whose applications fit the model. Beyond that, they don't work without Javascript[1]. The "richness" is usually useless animation and similar, frequently employed because it is there, rather than actually adding any value (Anyone remember the Jquery animation explosion?). It breaks a lot of automation; see the JS comment. These are all things that are important to me. I get that folks are fine with losing me as a user/customer, and that's their choice. But they should know why, thus my explanation. [1] Which means I usually go elsewhere when I encounter it, because I default to leaving it off.
- deleted 9y ago[deleted]
- gmny 9y agoIf the Internet moved as fast as the fastest thing in existence it would be faster. That's brilliant.
- ankitnawlakha 9y agoInternet Explorer might face hard times! :D
- sporkenfang 9y agoJavascript frameworks. Try timing the loading of a text-only or text/html/css site, then your favourite site built with React or Angular.
- chrisweekly 9y agoHigh-Performance Browser Networking is a phenomenal resource. Highest possible recommendation. https://hpbn.co https://hpbn.co
- Lagged2Death 9y agoIf the 3x slowdown from the infrastructure were eliminated, each round-trip-time being 3x faster would affect all the protocols above, and we could immediately cut the latency inflation from ~37x to around 10x, without any protocol modifications. The page this article is published on makes 87 separate network requests to 19 different domains. Even with a great deal of the content cached, it takes 7 seconds to reload over my WiFi today. This is because I'm using an ad blocker; without one, the page makes more requests to more domains and transfers more stuff, slower. It seems likely that cutting bloat would have a much bigger impact on responsiveness than infrastructure upgrades. Cutting bloat would produce benefits even (especially) in times and places where signals or infrastructure are marginal. Cutting bloat could mean your old phone or tablet computer could browse the web tolerably instead of ending up in a landfill. Cutting bloat from a website today produces a benefit, for all visitors, worldwide, today. Improving infrastructure may be a good investment, but cutting bloat is a force multiplier. The responsiveness of the web has been adjusted to optimize the number of eyeballs that see ads. If a site is too sluggish, people leave, but a site that's too fast is leaving money on the table. How many advertising, tracking, and affiliate domains would a web page like this connect to, if latency were cut by two thirds?
- thinkloop 9y agoAs much as ads are annoying, this has nothing to do with the article. One man's bloat is another man's content. No need for this nag to be top comment on HN for an article about why data isn't moving at the speed of light.
- Hoshea 9y agoHe's not making an argument for the elimination of ads, bloat comes in so many different forms. Loading entire libraries to solve trivial tasks, dragging in massive images where they don't belong, etc.
- true_religion 9y agoThey don't need to cut advertisements. Certainly, they could have as many as 10 advertisements, and only make requests to two domains---the ad network, and their own domain. Their page has a high number of requests primarily because they do not bundle their javascript, CSS, or icons. I see 95 requests that I see without adblocking, and about 20 of those requests are javascript coming out of their own WordPress instance. They're using 2 different full icon libraries and adding at least 5 more icons not contained in either.
- Yellow_Boat 9y ago"Slow" internet is not so bad (especially when it is not really THAT slow). Limitations in connectivity force designers and developers (therefore large companies) to optimise things and save resources. Internet speed growth rate could be 5% (compounding) would be enough in order to provide a friendly environment for new frameworks, technologies in the field of network and web to benefit all.
- AndrewGaspar 9y agoSpeedtest.net claims an increase of average internet speeds by 40% in 2016: http://www.speedtest.net/reports/united-states/ http://www.speedtest.net/reports/united-states/
- eric_h 9y agoI'm curious how much of that is actual infrastructure improvements and how much is ISPs increasingly prioritizing traffic to speedtest.net.
- amilete 9y agoI'm having slow internet lately... do you think this can be the issue?
- kv85s 9y agoAnswer: Advertising
- nkrisc 9y agoThe current common implementation of advertising. You can serve ads that don't noticeably slow anything down.
- shmerl 9y agoISPs should come out of the stone age, and should start using fiber optics everywhere.
- RichLewis007 9y agoWhy are you in such a hurry?
- WhoBeI 9y ago“Why are we so far from the speed of light?“ Because we don't know how to build an optical router with the same capabilities as the ones we use today and the alternative is to give up on net neutrality. I'm ignoring endpoint performance and protocol bloat. There is work being done in quantum computing that might eventually lead to some CPU like device operating on photons alone and hollow core fiber optics also seem to be an active field. The work on upgrading the various protocols together with limiting network requests seem to be the way to go until our technology catches up.
- NelsonMinar 9y agoI appreciate the big picture they've presented. I think an important next step is to measure more precisely. Specifically to look at how QUIC and HTTP/2 impact real world performance. After reading the paper it's not clear they've looked at that at all.
- lobster_johnson 9y agoTangentially, I have been struggling, for several years, with Safari being extremely slow at opening sites, compared to almost instant loading in Chrome. Anyone seen this? I'm always on fast networks (100mbps or so), but I find myself waiting 4-5 seconds or more before Safari even shows signs of connecting, even to things like Google and YouTube. It seems to be limited to HTTPS sites, and seems to have been introduced when Apple started using a new MacOS TLS/SSL framework called something like "Apple secure transport" (I forget exactly) a few MacOS versions back, and it's almost certainly not DNS (I get the same issue with Google DNS as with my provider's). I don't even know how to debug this, since I don't have a command line client that goes through the same TLS/SSL framework code as WebKit. Curl is fast, for example.
- jrnichols 9y agoI've used Safari since the very beginning, and I haven't really noticed this, no. Extensions, perhaps?