Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

How Much Are Ad Servers Slowing the Web?

Posted by kdawson on Fri Aug 17, 2007 12:56 PM
from the but-not-for-firefox dept.
vipermac writes "Most of the times I have a problem with a Web page loading slow or freezing temporarily, I look down at the status bar and see that it's waiting on an ad server, Google Analytics, or the like. It seems to me that on popular Web sites the bottleneck is overwhelmingly on the ad servers now and not on the servers of the site itself. In my opinion we need a better model for serving ads — or else these services need to add more servers/bandwidth. Are there any studies on the delay that 3rd-party ad servers are introducing, or any new models that are being introduced to serve ads?"
+ -
story

Related Stories

This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • by fred fleenblat (463628) on Friday August 17 2007, @12:58PM (#20263495) Homepage
    problem solved.
      • Pipelining? So Ted Stevens was right!

        By the way, I set pipelining.tube.maxrequests to 128. The googles, they do nothing...
          • They are worth it, though. The mouth-breathing morons who can't block ads like we do are the types to click on the ads or punch the monkey. I consider annoying ads a "tax" for people who can't be bothered to educate themselves marginally about the exceptionally complex system they want information from.
          • You mean some browsers serialize that? My browser appears to fetch multiple hosts concurrently.... Unfortunately, it still won't render the page with certain missing content (e.g. slow-loading javascript crap from ad servers).
            Well, the RFCs only allow 2 connections per client to one webserver; any more is considered abusive. And to support some older webservers, most browsers only get one page element per connection. So they open a connection, send one GET request, let the server respond, close the connection ... rinse, repeat.

            This was OK on narrowband/dialup connections (in fact, most browsers used to render the page between elements by default, so that it would show you the whole page, then re-render as various images or other elements were downloaded and ready to display -- although as connections got faster relative to rendering time, most browsers switched to only rendering the page once when it was complete), but it sucks on broadband. As the amount of time each data transfer takes drops relative to the time required to establish the connection, the establishment and resetting of the connections for each page element becomes more "expensive."

            So in HTTP/1.1 they introduced a way of making multiple requests in one connection. (It may have predated HTTP/1.1 but I think that was when it was first formalized). Basically the web browser opens a connection to the server and make multiple requests at once. Then the server will respond with all the requested elements. Then the connection will close. This is considered kosher and non-abusive because it doesn't require spawning a whole lot of connections at the server; everything is done in one.

            However this isn't enabled in default in Firefox; you have to go into the about:config page and turn it on, and set the number of requests per connection to something reasonable (I think 8 is the max).

            Also, it requires a certain amount of intelligence on the part of the browser to do this correctly. There are certain kinds of requests that shouldn't be pipelined (PUT requests, for instance), and some older servers may not like it. However, I think we're moving pretty quickly towards a time where it can be made the default.
            • by ttfkam (37064) on Friday August 17 2007, @05:32PM (#20268137) Homepage Journal

              So in HTTP/1.1 they introduced a way of making multiple requests in one connection. (It may have predated HTTP/1.1 but I think that was when it was first formalized).
              Close. It was possible to make multiple requests per connection in even the HTTP 1.0 spec. HTTP 1.1 simply made that behavior the default. In other words, you had to specify an additional header to support multiple requests in 1.0, but in 1.1 you had to specify "Connection: close" to prevent the behavior.

              Good introductory overview in general. Kudos.
  • Sheesh (Score:4, Insightful)

    by Verteiron (224042) on Friday August 17 2007, @12:58PM (#20263499) Homepage
    "Nothing for you to see here. Move along."

    Must be 'cause I'm using Firefox...
  • by Anonymous Coward on Friday August 17 2007, @12:59PM (#20263515)
    I probably would have had first post if slashdot did not serve up so many ads!!

    Jokes aside, I do notice waiting for ads on slashdot quite often but it is one of the few sites that I allow more to get through.
  • Browser's fault? (Score:5, Interesting)

    by DoofusOfDeath (636671) on Friday August 17 2007, @12:59PM (#20263519)
    Is it possible for browsers to render everything *else* on a page while awaiting the ads to be served?

    I realize this means performing some speculative page layout that may need to be re-done when the dimensions of the ads are served. But it sure would beat waiting tens of seconds to see the page's real content.
    • Re:Browser's fault? (Score:5, Informative)

      by Anonymous Coward on Friday August 17 2007, @01:15PM (#20263873)

      Is it possible for browsers to render everything *else* on a page while awaiting the ads to be served?

      It depends how the ad is served. If it's served as an external piece of JavaScript (using a script element), then most browsers will reach the script tag and won't render anything else until the script has been downloaded [blogspot.com]. This can cause a delay if the ad server is slow or down.

      If the ad is served using an img, iframe or object element, you generally don't have this problem, as the browser can leave a space for the advert and carry on rendering the rest of the page.

      I work for an ad serving company and most of the ads we serve are in iframe elements. The growing popularity of script elements (they seem to be used for most third-party ads now) confounds me. Generally, I'm continually surprised at how much control over the user experience most websites are willing to give to ad serving companies.

    • Re:Browser's fault? (Score:5, Interesting)

      by FireFury03 (653718) <slashdot@nOsPaM.nexusuk.org> on Friday August 17 2007, @01:56PM (#20264657) Homepage
      Is it possible for browsers to render everything *else* on a page while awaiting the ads to be served?

      Most ad systems seem to work by placing a <script> tag where you want the ad to appear which loads a script from the ad server that does a document.write() to insert the actual code. This is very bad practice (and explicitly disallowed for XHTML) but even Google do it (which sucks since I have to jump through all sorts of hoops to get AdSense to work on my XHTML site).

      document.write() works by actually writing out HTML and feeding it into the parser and thus parsing the page must be suspended at that point until it's finished executing, so you can't render the page until the advert has loaded.

      The _correct_ way to do this is for the ad-serving Javascript to actually modify the DOM tree. But that requires the ad server developers to not be lazy and have clue, which seems to be asking too much. (or alternatively, don't use Javascript at all).
  • 0 slowdown for me (Score:5, Informative)

    by jandrese (485) <kensama@vt.edu> on Friday August 17 2007, @01:00PM (#20263547) Homepage Journal
    For the reasons mentioned in the op I have several notorious slow adservers in my /etc/hosts. I don't know if they're still a problem, but doubleclick used to be horrible about taking 10 or 15 seconds to get their ad bits back to you. I'm not even particularly zealous about killing ads, but if you're stalling out my webpage then it's in /etc/hosts for you.
    • The people who make ads are a self-destructive bunch. Numerous times I've waited for a Slashdot page to load while some ad server took its time. Abusing me with abusive, dishonest ads wasn't enough, they wanted to abuse me by wasting my time, too. Mentioning the problem to Slashdot editors brought only temporary fixes, or no change.

      So now I don't see the ads at all, thanks to Firefox's AdBlock Plus [mozilla.org] and NoScript [mozilla.org] add-ons. (I recommend NoScript only for people who don't mind fiddling with permissions for each new web site.)

      I guess abusers aren't satisfied with only one kind of abuse. I can dimly remember some of the Slashdot ads. When they weren't misleading, they were generally stupidly written. People with no technical knowledge shouldn't work for technical companies.
    • Re:0 slowdown for me (Score:5, Informative)

      by halcyon1234 (834388) on Friday August 17 2007, @01:43PM (#20264387) Journal
      If you're interested in populating your hosts file, check out http://www.mvps.org/winhelp2002/hosts.htm [mvps.org]. There's a downloadable hosts file that's 406k, and was updated on July 31st, 2007. If you're running 2000/XP/Vista, be sure to read the Editor's Note about steps you must take to use a large hosts file.
  • High-CPU Flash Ads (Score:5, Insightful)

    by Kenshin (43036) <kenshin@lunarwor ... minus physicist> on Friday August 17 2007, @01:04PM (#20263643) Homepage
    What pisses me off are badly designed Flash ads. They use plenty of CPU power just to animate something completely useless. Last year Dell was running this ad on my local newspaper's site that took 80% of my CPU just to animate FALLING SNOWFLAKES. I complained to the website, and they took it down.

    Some Flash ads barely take any CPU at all, and those are honestly fine by me, but some just hog my resources. The problem is that the people who DESIGN these ads typically have cutting-edge machines, so they don't know what it's like to run them on a shitty office machine. So, please, TEST your ads on a shitbox average computer before you force them on us!
  • what ads? (Score:5, Funny)

    by ianare (1132971) on Friday August 17 2007, @01:17PM (#20263899)
    What ads are you guys talking about, I see barely any at all. *turns off ad block plus, refreshes* Holy crap! How do you even go online like this? You might as well just watch TV.
  • by SmallFurryCreature (593017) on Friday August 17 2007, @01:31PM (#20264167) Journal

    Back in ages long gone, when firefox did not exist you had (still have perhaps) a company called doubleclick whose adservers would sometimes choke freezing the loading of the rest of the page. Why and how this happens? Do I look like someone who gives a shit?

    I wanted it gone, and finally I bit the bullet and read up on squid and available plugins and setup my linux router to just filter all http traffic. Haven't looked back since.

    Browsing without a blocker is like... well it just sucks. At times I am offcourse forced to browse the web without such blocking software and my god, the internet has become as bad as tv. Do they really think that if you saturate people with advertising to the point the original content becomes unusable people are really going to be more inclined to buy?

    Apparently so. However not to me. This story offcourse neatly links to the story below about a site block firefox because of adblocker.

    Well, who gives a shit. You went to far, now you gotta pay the price. If you don't get revenue from me, blame doubleclick and all those others who just pushed me over the edge.

    At the moment I recommend bfilter to people who are fed up as well, it is browser neutral, works out of the box and does a lot more then just ad-blocking. Granted some flash bits require you to click them before they actually load but that is okay, because 99% of flash stuff I don't want to load.

    So yes, ad-servers are slowing the net, by adding stuff to webpages I do not want. Can this be solved? It has been solved, not to the liking of those who depend on those ads being seen, but hey, fuck them. Do they care when I have to reload a page over and over again because some server borked?

  • by schwit1 (797399) on Friday August 17 2007, @01:33PM (#20264213)
    My internet connection ain't free. If the ad folks want to use MY bandwidth they should pay me for the privilege.