How much can we cheap-out on this?
October 11, 2006 2:55 PM   Subscribe

Could you host a website behind a cable modem with some crappy hardware?

My startup is getting to the "friends-and-family" alpha stage, where we're getting to the point of testing our technology with some real-live users.

It's a faily complex site with a good amount of mysql queries, though we're not talking streaming video or tons of images.

We'd like to be able to handle 50 concurrent users (about 30 requests/queries per second max)

Our first plan was to do some performance testing of the old crappy 5-year-old AMD box we had sitting around behind the cable modem, but it just died a horrible death yesterday, so we're now faced with the difficult decision of what to do.

Our 3 month plan is to invest in one (or more) 1U server-grade computer at a colo, but in the meantime while we're still ironing out the kinks, do you think a cheap-o $400 dual-core Dell workstation will do the trick?.

Any thoughts/opinions/warnings are greatly appreciated. I understand that it's impossible to give accurate numbers, but I'm just seeing if we're in the realm of plausibility.
posted by dentata to Computers & Internet (21 answers total)
 
Best answer: Your hardware sounds fine, but you should be aware that almost all residential cable internet service agreements expressly forbid you from running servers of any kind on your connection. Dramatic changes in you usage statistics will likely raise automated flags and may even get your connection closed, especially if your upload rate goes from 1Mb/day to 1Mb/second.
posted by ChasFile at 3:10 PM on October 11, 2006


You would be better served with a hosting solution, IMO. One with mySQL hosting should be more than capable of handling that. Unless you are requiring other specialty software (ie. Ruby On Rails), you'll likely find it easier and more trouble-free.

Further, as ChasFile says, you are almost guaranteed to be violating the cable providers ToS.
posted by Kickstart70 at 3:13 PM on October 11, 2006


Best answer: the best piece of advice i've ever received re: hardware is that hardware isn't a problem until it's a problem. if you can get a static IP on your cable modem, or one of those dynamic rerouting services, i say go for it.

you'll find out soon enough if it's good enough; if it is, you've saved money. if it isn't, well, you were on your way to buying new hardware anyway.

you don't need a whole ton of hardware to serve up the kind of impressions you're talking about. your one risk is that if things are laggy, you won't know what's due to hardware and what's unoptimized code. but if you can get it running acceptably on a home workstation, think how much better it'll feel once you move to a colo.

nutshell: it's totally plausible. and good practice to get something, anything, up there where your infinite monkeys can bang on it rather than sitting on it until you can afford a better server. this is time you should absolutely be using for testing!
posted by sonofslim at 3:16 PM on October 11, 2006


On top of the TOS violation, some cable modem providers limit the outbound bandwidth to ~50Kbps or so. Keep that in mind. Also, you should be able to do what you need to do with a virtual private server for $20 a month.

Anyway, a dual-core machine will be more than adequate for your testing, assuming it has a decent amount of memory.
posted by cmonkey at 3:24 PM on October 11, 2006


The Dell is probably more than enough to handle the load you describe.
posted by knave at 3:25 PM on October 11, 2006


Get a VPS hosted somewhere. $25/mo will get you a machine that can handle 100's of requests a second and not even blink. The VPS gives you total control of the server configuration and offers an easy upgrade path for when you need to start throwing more processing powert in to handle the load.
posted by gus at 3:25 PM on October 11, 2006


People like to waive their hands and warn you not to go against the (hosting) man, but I've been enjoying my home server for over a year now. Only thing is cable is often unreliable, and you can hardly ever get a static IP. Mine used to go out of service about once a week for short periods of time, so I switched to (slower) DSL and an ISP that expressly permits this kind of fun stuff.
posted by Doctor Barnett at 3:27 PM on October 11, 2006


Bearing in mind that ADSL is asymmetric, with a greater download speed to the home, and a slower upload speed to the net. Reverse that round, and you have a really fast connection to the server but a cruddy speed from the server to the client. The $20/month server packages are great as you get 100Mbit in either direction with next to no effort.

I'd shy away from hosting anything other than a tertiary MX or DNS server on my home line, I wouldn't want to run any sort of low-med traffic website off of it. Not including the issues with ensuring a static IP on the line, $20/month is dirt cheap for a phat hosting rig.
posted by gaby at 3:44 PM on October 11, 2006


Dreamhost has way cheap deals right now. You can get hosting as cheap as $50/year for way more than you'll ever need. I've got a referral code that can save you $97 on a plan, and I'm sure a bunch more people here do, too.
posted by Mr. Gunn at 3:47 PM on October 11, 2006


You can do it. It works fine for me.

I have a Cobalt Qube 3 connected to my cable modem which hosts my web site.

But you have to have a "business account", not a normal residential account. If you use a residential account you won't have a fixed IP, and if they catch you running a server they'll get mad. A business account costs more than a normal one, but how much more depends on the service you get.

Where I am now, a normal residential account would run $50 per month with Comcast Cable. My business account costs $100 and gives me 8 megabits/second downlink and 768 kilobits/second uplink, one permanent IP, and permission to run a server. If I wanted more uplink bandwidth I could pay more, but 768 kilobits is plenty for what I do.

If there's any monthly limit on uplink usage no one has ever mentioned it to me. As far as I can tell I could saturate my uplink 24 hours and it would be fine.

And as to the CPU, my Qube 3 contains a 300 MHz K6-2, which is not exactly a speed demon. But it not only hosts my web site, it has two ethernet connections. So one of them connect directly to the cable modem, and the other is on my LAN. I surf the web using "Network Address Translation", which means that everyone out there sees my IP as the fixed one that "denbeste.nu" resolves to.

I did this in San Diego with RoadRunner, too. RR cost more and gave me less downlink, but otherwise was the same.

Call your cable modem company and ask about commercial accounts. I think you'll find that they're quite eager to talk to you about it.
posted by Steven C. Den Beste at 3:48 PM on October 11, 2006


By the way, in terms of performance, there have been times when I was handling 20,000 or more page loads per day. These days my traffic isn't that high, but according to the Qube's management software over the last two weeks I've 56,000 requests from 20,000 unique computers for a total of about 4.6 gigabytes of outgoing traffic, with no important loading problems.

Of course, everything on my server is static pages. If you're using a scripting system to construct pages as they're requested (like Metafilter does, and as things like Movable Type do) then the CPU load goes way, way up. My server isn't fast enough for that, which is part of why I don't use packages like that.
posted by Steven C. Den Beste at 3:54 PM on October 11, 2006


If it's a startup and not just a personal project, you need to be ready when opportunity knocks, whether that's a bunch of word-of-mouth, a Slashdot link, or a VC that happens to check you out the moment you happen to be down.

The advantage of hosting over doing things yourself is that the economies of scale of hosting mean that they can plan for peak usage, while at home you can only plan for sustained usage.

Think about the expected traffic, unexpected traffic, your business model, and the opportunity cost you might lose without the redundancy a hosting provider can provide, and see what makes the most sense for your startup.
posted by mendel at 4:24 PM on October 11, 2006


Will it work? Yes. Should you do it? No. Should you colo it somewhere? Absolutely. I recommend Carpathia because their datacenter is best in the business, and it won't break the bank.
posted by fvox13 at 4:38 PM on October 11, 2006


Best answer: Ignore the Dreamhost whores. I'm so sick of seeing people hawking referral codes every time any sort of question about web hosting is asked. Besides, the OP never said anything about wanting a cheap ass shared hosting package. If it's complex with a bunch of SQL stuff, you'll probably hit their arbitrary limits and find yourself with performance issues.

Your colo solution is a decent one. You might not want to cheap out *too* much but a modern Dell box with SATA drives oughta be fine. Just have plans in place to scale it up if necessary.
Add fast drives. Add lots of RAM. Don't forget backups.
posted by drstein at 5:35 PM on October 11, 2006


Unless you have an unusually fast cablemodem or DSL connection, you're likely to choke the bandwidth long before coming close to choking the hardware.

If you're determined to host on a cablemodem (which is usually not a good idea), then buy something really cheap. Don't waste much money on it. Unless you are unusually lucky, or have a very strange website, you're extremely unlikely to be able to stress the machine via cable.

I don't know if they have servers available right now, but a dedicated, root-access P4C 2.8Ghz with one decent SATA drive and a gig of RAM is about $130/mo at Servermatrix. 100mbit upload, several thousand gigs transfer. You'd need a very popular site to need anything much faster than that. They use solid hardware with good chipsets, and offer support for multiple different OSes. They can do security patches for you, or you can do them yourself, up to you.

Overall: good service, good bandwidth, decent price. So-so on communication...if they fix something, finding out what it was can sometimes be an issue. But they do fix stuff quite quickly.
posted by Malor at 6:32 PM on October 11, 2006


Let's see, you can host locally for the low, low price of $50 per month, or you can get a hosting package that will survive a slashdotting for $50 a year.

But hey, what do I know, I'm just a dreamhost whore....
posted by Mr. Gunn at 7:04 PM on October 11, 2006


Response by poster: Just wanted to clarify: this hosting solution is for a short term alpha deployment of 200-300 total users.

Once we do a public deployment, we're going to do a dedicated machine, most likely at a colocation. The site is much too processor intensive for any type of shared environment.

VPS looks like a good choice for the alpha, but with packages that have 64/96/128MB of dedicated RAM, I'm dubious about the database transactions. Am I missing something?
posted by dentata at 7:47 PM on October 11, 2006


with packages that have 64/96/128MB of dedicated RAM, I'm dubious about the database transactions. Am I missing something?

It probably varies from provider-to-provider, but the numbers you quote are the guaranteed RAM you can use. Mine allowed me to 'burst' beyond it provided it was available. For the longest time I ran a half-dozen websites + e-mail domains + a small Counter-Strike server out of a VPS with '128 MB' of RAM, and it usually worked fine since we could burst beyond the 128.

It's not too clear precisely what you're doing (a forum?), but I'll chip in that MySQL isn't necessarily a RAM whore. I also used to run a 300 MHz machine with 128 MB RAM, and it hosted a site running PostNuke with the phpBB module. It actually was plenty fast for quite some time, although, unsurprisingly, we did outgrow it.

Also, since it's just for testing... Unless you're doing something ludicrously insane with MySQL, the worst that's going to happen in a RAM 'shortage' is that you're going to start swapping out to disk, which slows things down. Not something I'd want to do, but don't feel like requiring 129 MB on RAM is going to be devastating if you only have 128.
posted by fogster at 9:33 PM on October 11, 2006


Okay, I missed the part that this was for 'real' users, in which case, having it be slow isn't necessarily a good idea...
posted by fogster at 9:39 PM on October 11, 2006


That small an amount of RAM is a concern. When I bought my Qube, the one change I made to it was to stuff it with as much RAM as it could take (512MB).
posted by Steven C. Den Beste at 11:46 PM on October 11, 2006


"or you can get a hosting package that will survive a slashdotting for $50 a year."

Dreamhost is lucky to survive regular traffic these days. Just look at all of the complaints! I know several people that fell for their trap and regret it.

Anyway, the OP said that it's too processor intensive for any sort of shared application. :-)
posted by drstein at 12:06 PM on October 18, 2006


« Older What's wrong with my bike- the chain or the gears?   |   Help me teach my laptop to speak VT100 Newer »
This thread is closed to new comments.