views:

40

answers:

2

Our website is currently experiencing high volume download traffic. It will soon exceed the bandwidth limit. What's the most convenient way to mirror a software package? We also need to maintain existing URL of the package.

+2  A: 

Hopefully your website and your downloads are on two different virtual (if not actual) hosts like:

  • www.example.com; and
  • downloads.example.com.

If bandwidth is the problem then the easiest solution is to put the downloads on several different machines, each on a different WAN and then load-balance them by using multiple DNS A records so different clients will go to different machines. See HOWTO - Configure Load Balancing.

I'd be surprised if bandwidth really was a problem however considering how cheap it is unless you've got some other constraint. Typically the Web servers themselves are the problem, in which case reverse proxies (eg HAProxy) are the usual answer

cletus
Also, if it's "stupid" downloads (= big media files) you could consider moving those to a content delivery network that can serve great volumes of data faster and cheaper than the ordinary web server. Another option may be renting a server in a country where bandwidth is dirt cheap, here in Germany you get a lot of server offers below €100/month with 1 to 2 Terabytes of free traffic.
Pekka
The problem is that we have a shared hosting account with relatively low limits.
Sphynx
@John well, then get another one :) But first, identify what exactly is causing the traffic. It's almost never the HTML content, it's images, music, and video. Those you can migrate elsewhere with probably much less effort than actually mirroring the whole site, which is cletus's main point. For additional info, you will have to give much more detail: What platform(s) your site runs on, what CMSes / languages are used, what is causing the traffic, what is the traffic limit, and so on.
Pekka
A: 

I've registered for Amazon S3 service, uploaded the package using S3 Firefox Organizer plug-in, and setup a file redirection using .htaccess. That worked perfectly.

Sphynx