Solved

Pros and Cons of proxy servers?

Posted on 2009-07-05
16
2,157 Views
Last Modified: 2012-08-13
I don't have a problem to solve but I'm interested in what the Experts have to say about the pro's and con's of proxy servers.  Specifically putting a proxy server that does caching in front of a web server. On the pro side, as I understand it the proxy caches the web server responses, thus relieving some of the load on the web server.  It can also have a security benefit because all requests are filtered through the proxy, and only the proxy is actually talking to the web server.
On the con side, you have the added expense of hardware and software, I work in a Windows shop.  Plus the proxy can become a bottleneck, or need repair of replaced.

I have a friend who works in a mixed enviroment, Linux and Windows, and who works on the Linux side of the fence.  He always sets up a Squid proxy in front of his Apache web servers.
The gains in performance are impressive, along with the decrease in the load on the web server.

I've talked with others who say that proxies are a pain and not worth the aggravation.  What are the views of some of you Experts out there who have experience with setting up proxie caching servers in front of web servers.  I work with IIS, but I'm no expert.  Windows 2003 Server and IIS v6.

Thanks for taking the time to reply and helping out those of us who are not experts.
0
Comment
Question by:Westez
  • 4
  • 4
  • 3
  • +2
16 Comments
 
LVL 37

Accepted Solution

by:
meverest earned 150 total points
Comment Utility
Hi,

any decent modern web server will be able to do caching on web content - including dynamic.  Why would you want another server to cache the cached content, I have no idea.

improvement in performance will only be 'impressive' when the web server is not well resourced to begin with.

personally, I would say that 9 times out of 10, a proxy server will provide no benefit at all - in fact quite the opposite.

Cheers.
0
 
LVL 57

Assisted Solution

by:giltjr
giltjr earned 150 total points
Comment Utility
It depends on your setup.  If you have a single web server serving up static content that has the proper capacity no a proxy server (actually it is called a reverse proxy server) will not help.

However, say your web server is really an application server and say you have 2, 3, or 20 of them.  Then a proxy server (actually at least two clustered for fail over) will help.

Proxy servers can help offload work from the web server in a couple of ways.  Caching static content, SSL offload, dynamic compression, and load balancing.  This can offload enough work from the back-end servers that you can either handle more work with the same number of servers or have fewer servers.

They do add hardware and software, but generally their cost is much less than a application server and depending on your enviroment can reduce the number of back-end servers you need.
0
 
LVL 15

Assisted Solution

by:sharepointguru14
sharepointguru14 earned 150 total points
Comment Utility
fairly good summary above by qiltir. I would also add that they provide great performance boosts if you have a global orgainization that you have people all over the world hitting a server in a single space. Especially if that web server or application server is serving up fairly large files. You can from a single source push out all of the content to the edge proxy servers therefore increasing load time for your remote users (pulling content from a edge device in their local office rather than from across the globe) this loads pages quicker makes downloads faster and greatly reduces the bandwidth used/load on your network.
0
 
LVL 37

Expert Comment

by:meverest
Comment Utility
good point from spguru! :-) - multiple proxy servers ahead of a single application server may be a low cost way to boost performance of a single application without the complexity of a load balanced web app.

I maintain that one proxy <-> one web server is a waste of resources.

Cheers!
0
 

Author Comment

by:Westez
Comment Utility
Good stuff guys.  Let me ask you this, you have a single web server that's due to have it's hardware upgraded.  Would you buy a pair of beefy servers and set them up for load balancing?  Or buy one beefy one, and two lesser ones and set them up as proxies?  They serve up dynamic content that include a ton of images to a global audience from a single location.
0
 
LVL 37

Expert Comment

by:meverest
Comment Utility
I would choose the dual load balanced option.

Cheers.
0
 
LVL 57

Expert Comment

by:giltjr
Comment Utility
How much of the content is truly dynamic?  I would assume that the images are really static images.
0
 
LVL 43

Assisted Solution

by:ravenpl
ravenpl earned 50 total points
Comment Utility
Some time ago, I was struggling with dos attack on web server. Various IPs were connecting to the server, and not finishing the request.
Putting squid proxy before the server bumped the dos limit greatly, from hundreds to thousands requests before actual dos.
0
How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

 
LVL 15

Expert Comment

by:sharepointguru14
Comment Utility
Westez, Where will the users be coming from on the majority basis? 3 different sites or more? and where would you put the two proxies?
0
 

Author Comment

by:Westez
Comment Utility
meverest - thanks man, I'm just trying to learn something here.  The longest journey begins with a single step.  And it sure helps to follow those who have already been down the path.

giltjr - Let me get back to you on how much of the content is dynamic.  I'll see if I can come up with a percentage.  I know there's a lot of ASP pages, and some .NET and C# that's tied to some SQL db's.

ravenpl -  Are you saying that by putting Squid before the web server helped by limiting the number of requests from thousands to hundreds?  I thought a reverse proxy in front of the web server would stop a dos from happening at all.

spguru14 - We're an academic institution so the sites are educational and used by folks from around the globe.  And we only have one location, so the proxies would be located here in front of the web server.  I'm guessing that your asking if we have multiple locations, similar to a branch office in another city or country that ties back to the home office.
0
 
LVL 57

Expert Comment

by:giltjr
Comment Utility
The reason for my question is that if the majority of the content served up is static, then proxy servers would be a benefit.  If the majority is dynamic, then spend the money on the servers.

Since you have users around the globe, the locating proxies in various places around the world and doing load balancing around the world.  I don't know what your budget is, but there are companies (like Akamai) that will do the proxy function for you.  Of course it does cost money and I have no clue how much.

A reverse proxy will lessen the possibility of a DOS, it does not remove it.
0
 
LVL 43

Expert Comment

by:ravenpl
Comment Utility
> I thought a reverse proxy in front of the web server would stop a dos from happening at all.
Eventually the proxy can be dos-ed as well. Isn't it?
0
 
LVL 15

Expert Comment

by:sharepointguru14
Comment Utility
Dynamic content, single hosted location, and the visitors to the site are from all over the map.....spend the money beefing up the servers
0
 

Author Comment

by:Westez
Comment Utility
ravenpl - >>Eventually the proxy can be dos-ed as well. Isn't it?

I wasn't sure, so hence the question.  Thanks to all for schooling me.
While we're on  the subject of dos.  Is it possible to protect your sites from such attacks?  I've just read about North Korea being a suspect in taking down several of our governments sites.  I figure the folks protecting those sites know far more than I, and they got taken down.

Regarding the servers, thanks for the advice, we'll get a couple of beefy ones and set them up with load balancing.  I've been searching through EE on the topic of load balancing, and have read that NLB is built in to Windows 2003, so I'm guessing that it's also included in Windows 2008 64 bit which is what we'll be installing on the new servers.
0
 
LVL 57

Expert Comment

by:giltjr
Comment Utility
You really can't protect yourself from a DOS.  No matter what you do, there will be some limitation to the "capacity" you have and one of the possible DOS's is to make more requests that you can handle.

NLB is there on Windows 2008.
0
 

Author Comment

by:Westez
Comment Utility
Guys I'm going to close this one out.  Many thanks to all of you for taking the time to reply.  Hopefully some others will benefit from this thread.

Cheers
0

Featured Post

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

If your site has a few sections that need to be secure when data is transmitted between the server and local computer, such as a /order/ section for ordering or /customer/ which contains customer data, etc it would of course be recommended to secure…
On July 14th 2015, Windows Server 2003 will become End of Support, leaving hundreds of thousands of servers around the world that still run this 12 year old operating system vulnerable and potentially out of compliance in many organisations around t…
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now