Ad Networks the Laggards In Jackson Traffic Spike
miller60 writes "Advertising networks are being cited as the major bottlenecks in performance woes experienced by major news sites during the crush of Internet traffic Thursday as news broke about the death of pop star Michael Jackson. An analysis by Keynote found that many news sites delivered their own content promptly, only to find their page delivery delayed by slow-loading ads. The inclusion of third-party content on high-traffic pages is a growing challenge for site operators. It's not just ads, as social media widgets are also seeing wider usage on commercial sites. How best to balance the content vs. performance tradeoffs?"
Without those ads, there would not be the high number of news sites available for viewing breaking news stories that can drive this Jacko level of interest.
Can someone explain to me why this phenomenon occurs? Is content loaded serially, one item at a time?
Reflow is my best guess. The browser has all the data for the rest of the page, but it doesn't know what width and height to give to an ad object until it has loaded.
When running on a browser without ad block, pages will take forever to load. The basic shell will come up but it will lag when feeding content from the advertiser servers. You cannot move on with your life until the ad loads and the page content will not load until the ad. Very annoying.
Also surprising is how much of the lag comes from the computer, not the bandwidth. I upgraded the home machine recently and am amazed at how quickly sites load now. I'd assumed previously that delays in loading were just waiting for data from the site but it appears that there's a lot of overhead with the bloat that is the modern browswer. I'm guessing there's a lot of web 2.0 bullshit going on in the background. You can't escape it by disabling Javascript because that'll break most of the sites out there.
Kwisatz Haderach
Sell the spice to CHOAM
This Mahdi took Shaddam's Throne
actually the most important thing is not showing the ads, but counting the ads shown. I did work at a company that had a fallback where if there was a bottleneck it would switch to serving a default ad - but that makes no money. Clients pay on the number of views/clicks an ad gets and you have to have the request go through to the server to get this. Also the adserver needs to decide what ads to show. It might be acceptable for click only ads - but it's the view based ads that make the most money, and you would get rid of any possibility of optimizing delivery of those ads - i.e. less money.
for(b=(a=0)+1;;b+=(a+=b))print(a+"\n"+b+"\n");
Good point.
Yes, a browser should schedule the download of additional content, and it should give priority to same domain, next to different subdomains of same domain (e.g. "images.mysite.com") and last to other domains.
Of course, if that were the standard, the ad people would come up with something to defeat it. See, these are the people who are actively working on giving you content that you don't want, and they consider it important to bypass all your filters, to make sure you've seen their ads. Because you don't count, only our pageview or clickthrough does.
Assorted stuff I do sometimes: Lemuria.org
From personal experience: Ad networks don't respond well to traffic spikes. The advertisers need time to adjust their campaign limits and until that happens (if they adjust them at all), your site falls through to lower paying ads, all but negating the increase in volume. You could just as well throttle the ads to normal impression counts and use the space for something else on the additional page impressions (self promotion, affiliate links, etc.).
Advertisers don't trust sites to host their images (how would they know how many were really served), they want to serve them themselves, so they can rotate them when they want, so they can set web bugs and/or cookies.
The good news is that makes it a lot easier to block ads, if they were just images in the same locations as normal illustrative images, you'd have no way to discriminate. So once you block the advertisers' domains you have a nice fast page.
Indeed. I have a lighttpd instance running on my computer just for this reason. It serves up a single page containing only the following text:
404 - ad fail
And if anyone is wondering why I'm running an HTTP server just for this it's because serving the 404 kills the request much quicker than letting the browser timeout the connection. Lighttpd is very light on resources but also allows me to have access logs, which allows me to get some interesting data. For instance, I split the logs up by month and here are some of the sizes:
I've also written a perl script to import the logs into an SQLite database. Which allows things like:
All hosts blocked with over 1,000 hits (from the aforementioned April to June logs)
I have a lighttpd instance running
Mongoose would probably be even better.
Win a signed Stephen Carpenter ESP Guitar from the Deftones: http://def-tag.com/?r=0008781