Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I just mistakingly posted this on Stack Exchange but don't know how to delete it...

Anyway, I was thinking of building a home server to use instead of renting a VPS, because in the long run it would be cheaper. What I'm concerned with is the bandwidth limit of my house.

I know when I'm downloading something off the internet, if I download at high speeds the rest of the computers connected to my router will become slower. Is there any way to avoid this? I'm afraid this will happen if I get a home server because I know it will be downloading and uploading a large amount of data, but I don't want the rest of the computers in my house to suffer from slow speeds resulting from this. I don't want to limit the bandwidth of the server because I would like it to perform the best it can.

There are other cable outlets in my house, will connecting a modem and router there avoid this problem?

share|improve this question
    
Your question isn't clear. Are you asking how to allocate a specific amount of bandwidth to your server, or if you should buy a separate connection for it? –  goblinbox Mar 7 '11 at 0:10
    
You're looking for traffic shaping, related: superuser.com/questions/150239/… –  BloodPhilia Mar 7 '11 at 0:12
    
Your question on Stack Overflow has been closed for you. stackoverflow.com/questions/5214404/… –  BloodPhilia Mar 7 '11 at 0:15
    
@goblinbox I edited the question, hopefully it makes more sense. –  Derek Maciel Mar 7 '11 at 0:17
    
In order to run anything resembling a commercial server you need to get a commercial-grade internet connection. If you attempt to host a server on your home internet connection your ISP will throttle you down to a trickle. –  Daniel R Hicks Sep 9 '13 at 15:57

4 Answers 4

up vote 1 down vote accepted

If you don't want to limit the bandwidth of any of your devices (called QoS) then your only option is to get more bandwidth. The easiest way to do this would be to purchase more bandwidth from your ISP. If you have already purchased the max bandwidth your ISP will sell you on a home user account, then you might want to step it up to a business account, or find another ISP.

In my area a company called Level 3 Communications owns almost all the fiber and cable in the ground, and other ISPs purchase bandwidth from them and then redistribute it. If I went to Level 3 Communications I could purchase my virtually unlimited bandwidth directly from them, but it would cost a lot ($2,300 a month for 300 Gbps Up/Down).

If you want to go the shady route you can look into spoofing some IPs and setting up load balancing, but I will not describe the details here.

I don't know how much traffic you are planning on having on your site, but unless it is a whole lot you would probably be ok with the connection you have now. Your server is going to be using more of your upstream bandwidth while the other computers in your home will be using more downstream bandwidth, so the conflict is likely to be minimal unless you are opening up a replacement to Facebook or Google. Visitors to your site would of course see decreased download speeds if there were multiple visitors simultaneously downloading a files at the same time, but you would have to have hundreds of visitors who were just browsing your site at the same time before they (or you) would notice any real decrease in your bandwidth.

share|improve this answer
    
I think what I'm going to do instead is just rent a VPS. P.S. I like your Username –  Derek Maciel Mar 9 '11 at 21:10

While it is possible for you to assign portions of your existing bandwidth to particular uses (packet shaping will allow you to stop your server from eating up all your throughput, so that your other computers will continue to work), the only way to get more bandwidth is to buy more bandwidth.

You can either have your existing connection increased, or you can add a second, dedicated connection for your server.

share|improve this answer

Your fears are correct, to a point.

The old adage 'you get what you pay for' applies to bandwidth / performance. Think about it like this: Are you asking how to get all of what you paid for, or how to get more than you paid for?

You should consider measuring how much bandwidth your server uses under typical or expected use. Most hobby or personal home pages are not going to require much bandwidth, so while a big operation like updating the software after a year may slow everyone else down for an hour or a few hours, this won't happen very often.

Do you need inbound reliability ? It seems to me power failures and other problems causing downtime are more frequent on do-it-yourself servers than purchased hosting. What does it cost if your web site fails at a critical moment? Are you hosting your resume or a sample-of-work portfolio ? Is it worth $100 to know it will work when others come calling ? If so then that justifies using a $100/year hosting account.

If your hosting needs are modest, there are free solutions such as Google Sites or Blogger and for developing dynamic applications, Google App Engine. Amazon S3 could also be very cheap for hosting if the file collection is small and infrequently downloaded. I'd recommend cheap paid hosting over S3 if you expect more than a few dozen Gb of traffic per month, because Amazon charges ~US$0.15-0.20/Gb traffic and something similar for storage. Amazon's rented server, EC2, is $0.10/hour, which is $72/month. That is somewhat pricy compared to cheap hosting or even small, decent VPS like Linode.

Do you need high local transfer rate ? If so, thats a good reason for a local server...such as to backup all the other home computers to it or to use as a home media server.

share|improve this answer

QoS definately makes a huge difference. However, it is very difficult to get right, but it is the right way to go and I recommend it.

There are very few QoS implementations that work well and very few routers that have one that works properly if at all. The cheapest solution for you would be to invest in a simple router that can run Tomato.

This is the official website. http://www.polarcloud.com/firmware

However, there are some enhanced versions out there with better QoS and better default setup. A list is in wikipedia. See: http://en.wikipedia.org/wiki/Tomato_(firmware)

I like the viktek mod personally.

And now for something that everyone else has failed to mention.

You were saying that your broadband connection is cable? You can certainly host on the end of cable or ADSL or even dialup. Cable and ADSL usually have a much lower upload speed vs downdoad. e.g. I'm on cable here and my download is 16.7MB/s and up is only 1MB/s. For someone accessing your server they will put more pressure on your upload bandwidth than download. Also, with cable providers i've noticed the bandwidth drops out to almost unusable at certain times in the evening. You might face the same issues. Don't expect it to be a high performer even if the machine is fast.

You might want to apply for a static IP address for your modem/router or if you can't you will need to use dyndns or similar.

Option 2 which might be reasonable is to install a second internet connection via another service like wireless. I had wireless to the house and it was giving me a very steady 6MB/s up and down. Unlike ADSL which is 6 Down and 600KB/s up. Pricing was reasonable. Worth looking around at options. Maybe you also have VDSL in your area?

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.