Jump to content

Opening links in new window eases server load?


Recommended Posts

A habit I've been getting into when accessing your site with IE: if

I'm on a large, slow to load, forum such as Unified View, I'll right

click links and select open in new window. I know this is old news to

some, but does involve an extra step, and I would think the majority

of patrons don't use this method.

 

I'm just wondering if this practice actually means less load on the

server, and if it's a good practice for patrons, at least while this

slowdown continues?

 

And yes, I know, no icon. I've just been laid off, and I promise,

next time I'm in the black.

Link to comment
Share on other sites

I too use this method, but mostly because I prefer to "multi-task." If your browser is caching the unified view then just hitting the back button on your browser won't actually make a new request to the server. (Only Brian M could tell us if the page comes down with a no-cache header or how long it takes to expire). Opening posts in a new window certainly can't hurt!

 

Another question for Brian M: are the servers choking on the number of requests and database lookups, or on the volume they're sending out, or both?

Link to comment
Share on other sites

You can also do that by holding shift and left-clicking the link, which works faster.

 

And, no, it doesn't make any difference whatsoever on the server - at least not in the big scale of things. The number of requests does not change, just the timing and maybe the order.

Link to comment
Share on other sites

I don't think what you do on your end (such as opening a new window) makes any difference to the server loading. Obviously if you open 10 new windows and do 10 downloads, it's more loading than just using one window and doing one download, and doing 10 at once does put a higher instantaneous load on the server (but for a shorter time) than doingm 10 sequential downloads, so if everyone did it there would be a greater chance of maxing out the server at times.

 

One thing you might do to minimize server loading is to use your local cache rather than reload a page on every visit.

 

In IE 6 the proceedure is to follow the menus:

 

Tools->Options->Temporary Internet Files->Settings

 

and select "Check for newer versions of stored pages" AUTOMATICALY

 

For frequently changing pages this means you might be looking at an old version, but if you do a "refresh" from the tool bar you'll get the new version. For going back and forth between an index page and content, this does save bandwidth though. This is the scheme I use. It automatically gets the current page when you start a new session and it's supposed to "learn" which pages update frequently and update them automatically.

 

It may be confusing to newbies because if you go to a forum, post a question and then go back and look for it, you won't see it unless you do a manual refresh.

Link to comment
Share on other sites

The main problem is that we don't actually know what is causing the problem. The AOLServers which we are running have a finite number of "threads" to service HTTP requests. There are 3 servers with 15 threads each, and 3 others with 20 threads each. The Load Balancer decides to which of the six servers to send a browser HTTP request, picking the one which currently has the fewest connections. If a request arrives at a server and all the threads are busy serving previous requests, it waits.

 

What happens is that the threads get stuck. This is apparently a typical AOLServer problem. By stuck, I mean that you see the thread stopped for a very long time (up to an hour) on one request. Even during normal times when the servers are responsive, there are one or two stuck threads. This doesn't really cause a problem. What we see happening, though, is that a few times per day, all the threads in a server become stuck, and the server basically can no longer service request. Sometimes the Load Balancer routes around this problem, and sometimes it doesn't. Even an entire server getting totally stuck is not a disaster, but we are frequently seeing episodes during the day where all, or nearly all, of the servers get stuck. When this happens, basically the only thing to do is to wait until the server clears itself (which can take up to an hour or more), or reboot the server. About 70% of the time, rebooting hardly helps at all, since the server will quickly get stuck again.

 

This phonomenon seems to be related to load, in that it happens more often when the system is loaded. But it also happens when the system is not loaded, and the system can be heavily loaded for hours at a stretch and it won't happen. We had this problem before in October last year (when there was actually more downtime than now), then it just went away. Since October, traffic has increased. February was a peak month, with daily traffic exceeding May, and the response of the site was fine for the whole month. Then in May, the problem started again. It would appear that network issues come into it besides load.

 

As for sending HTTP requests from new windows: as long as it didn't generate any more HTTP requests and didn't defeat caching, I don't see why it would hurt. I can't really see how it would help, since the servers don't know whether the request is coming from a new window or not.

Link to comment
Share on other sites

As I see it, when I download a forum topic in a new window, I only download a small amount. I read it, close the new window, and I'm looking at the forum page, which is just sitting there, and does NOT have to re-download. Obviously, if I do this long enough, I might be missing the latest post, but no big deal. However, if I do all forward and back in one window, the forum page DOES re-download, the whole thing, when I back out to it. Maybe that's my IE settings at work. I could set it to once per session, I suppose. I've never changed anything, it's on defaults. If I'm downloading less, aren't I imposing less load? Am I downloading less this way?

 

Anyway, it's quicker for me, though a little awkward (because I have to think), when things are bogging. Thanks all for the feedback!

Link to comment
Share on other sites

Brian

 

Are we running "Keepalive" or some such similar program? As I understand it they monitor the server, and if it gets stuck they can shut it down and reboot it automatically. Of course if it just gets stuck again, that's not much help.

 

Is there a chance that some sort of Spambot or Spybot is crawling the system illegally at random times and getting tied up deep in the active server page structure where it really shouldn't be going? That might explain why it isn't directly related to loading and why a reboot doesn't always clear the problem as the bot might just hit the server again as soon as it came back online.

 

I'm way out of my depth here, so if my suggestions make no sense I wouldn't be at all surprised...

Link to comment
Share on other sites

On the ACS site I run, I too occasionally see the stuck thread problem. Nine times out

of ten it's someone trying to suck the site down in quick succession and Oracle backs

up serving all the queries (and blocking the nsd thread). What I do when this happens

is put a firewall rule in place to drop the connection to that IP address and restart

AOLserver. Occasionally that doesn't help since Oracle is still serving the results from

the queries and I have to restart Oracle, too.

 

Search engines like google and Yahoo! limit how fast they index a site so they don't

bog a site down; google seems to send no more than one request per second when

indexing.

 

And one time out of ten it looks like AOLserver just goes bonkers. I think there's a

bug in there somewhere but with AOLserver 4 just around the corner it hasn't been a

huge priority to try to track the problem down.

 

Personally, I hate it when sites put the "target=new" tags in their hrefs -- as others

have pointed out it easy enough for me to request a new window if I want and folks

with tab-capable browser prefer that method.

 

With all the caching going on in the chain between server and client I doubt it'd help

much on load or bandwidth.

Link to comment
Share on other sites

Bob, we aren't running keepalive, although we have considered it. Keepalive was really intended to bring servers back when they get stuck due to a programming bug or a very isolated event -- in other words, where the servers are basically healthy, and just need a kick.

 

With the current problem, 70% (or more) of the time when we reboot the servers immediately after they get stuck they get stuck again right away. Keepalive would just keep whacking it. Letting keapalive repeatedly kick a struggling server could actually cause any healthy servers on the same box to fall over, because they would get starved for CPU time by the one that was restarting continuously, since the startup does a lot of Oracle queries all at once in order to cache results. When there are (semi-)healthy servers and stuck servers on the same box, you have to be a bit careful about when you restart the stuck server.

 

The only thing that actually works is waiting. If you wait long enough (an hour or two) the servers will unstick themselves. You can shorten this by picking the opportune time to restart them manually when the underlying problem (whatever it is) has abated. We also manually restart the servers over a period of several minutes when we see that all the servers on a box are stuck. In this situation, they will probably all get stuck again, but you don't have anything to lose. Lately, it seems like I spend most of my day operating as an "intelligent" keepalive program.

 

Mike, I wish somebody had mentioned the robot theory a couple of weeks ago, because this is currently one of my leading theories as to the culprit. On Saturday, there was some bozo running wget against the site from Australia with probably 50 connections overall continuously for hours. During this time, the servers on the weaker of the two boxes got stuck several times. I've only started looking at the robot situation more carefully during the last couple of days.

Link to comment
Share on other sites

I'm not up on firewall technology so I don't know if this makes sense but I remember seeing a reference somewhere to putting a timer on an access ID so you could lock out someone who was using too much bandwith - such as your friend with the wget.
Link to comment
Share on other sites

Brian, this is definitely a software bug that they need to fix. Isn't there anyway you could escalate this, or does PN have no clout? At the least, they can give you recommendations on workarounds.

 

Mendel, opening links in a new window allows you to multi-task better. This frankly will cause MORE load on the server, since you are issuing multiple requests in parallel.

Link to comment
Share on other sites

Just ignore me if this is a stupid question, but could the problem you're describing also be caused by someone(s) setting "Make available offline" in IE for multiple levels off the PN home page? I don't know exactly how that works but I'm just guessing it could create a ton of server load every time that browser caches all the updated content.
Link to comment
Share on other sites

Here's an interesting article on evil spambots, spybots, email address harevesters and the like. I'm sure they could do a number on a site, and photo.net's a pretty prominant site so it might make a good target.

<p>

<a href="http://diveintomark.org/archives/2003/02/26/how_to_block_spambots_ban_spybots_and_tell_unwanted_robots_to_go_to_hell.html">http://diveintomark.org/archives/2003/02/26/how_to_block_spambots_ban_spybots_and_tell_unwanted_robots_to_go_to_hell.html</a>

Link to comment
Share on other sites

The "make available offline" feature(?) of IE can cause problems. Here's one story I found:

 

<p><em>

Just a FYI; if you haven`t already (and most people probably have), make

sure to ban anything resembling:

 

Mozilla/4.0 (compatible; MSIE 4.01; MSIECrawler; Windows 95)

 

from your site. This is, AFAIK, IE in it`s lame-ass "kill the web" mode.

 

I just saw a site get pummelled by over 250 hits per second from a bunch

of users using this. They weren`t doing anything special, I have no

reason to think there was any planned DoS attack. The site simply had

something like:

 

ErrorDocument 404 http://site.example.com/notthere.html

 

in a .htaccess, ...where /notthere.html didn`t exist on the site.

 

So whenever this pile of junk got a 404, it ended up getting stuck in a

loop of redirects to the same page it was already on. How can MS release

software like this?</em>

Link to comment
Share on other sites

Brian,

 

Something you might want to consider is bandwidth throttling per IP Address at the

firewall. There's various ways to do this depending one what tools you have available,

but you can do something in iptables that will throttle the number of requests per

second for a particular IP when a configurable threshold is reached.

 

One site we run gets hit with this all the time and this is something I've been meaning

to do for them. As a matter of fact, keepalive alerted me that this site was down this

evening and a grep of the logs revealed a particular IP had accessed the site over

5000 times in a short period of time causing Oracle threads to back up and loading

the machine up. A quick '/sbin/ipchains -I input -s evil_ip_address -j DENY' and the

problem went away.

Link to comment
Share on other sites

Opening links in a new window is really bad HTML coding practice, it breaks browser history, and as mention above it can be done by the user as choice, and it won't reduce load as it increases the nuber of connections to the server. Please don't do it.
Link to comment
Share on other sites

One thought and I and have no immediate idea how feasible it is to do, your servers are no doubt load balancing and spread over how many machines.. well how about limiting a number of these machines (servers) to supporters so they at least see some benifit in subscribing, namely a faster service.
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...