1

Possible Duplicate:
How do you do Load Testing and Capacity Planning for Web Sites

I have a website, and I want to host it on my own computer, but I'm wondering if it's good enough.

The website checks if the user is logged in and then displays 15 items (title, description) from a mysql database and the rating (stored in another database) and the comments (another database) for each item. It also displays some stats (number of items, comments). I also have an image for each item.

My specs are: AMD Athlon 64 X2 Dual Core Processor 5600+ 2.90 GHz

RAM: 4.00GB

Windows 7 64bit

So what do you think, how much visitors and items could it handle (at once or daily) ? My internet connection is good, around 7-10 mb upload and same download speed

3
  • 2
    Win7 on server, really?
    – Tomas Voracek
    Jan 1, 2011 at 21:57
  • 1
    It`s my PC, I want to run a website on it (Apache)
    – coolboycsaba
    Jan 1, 2011 at 21:58
  • 2
    ::puts on Jack Nicholson voice:: You can't handle my server! Jan 1, 2011 at 22:42

5 Answers 5

10

First off, I would be more wary of what your internet provider will think. Its pretty much a universal rule that hosting web sites off of personal connections--regardless of traffic--will violate your ToS and end up with you receiving a warning, or getting your service canceled.

As for your answer, you're not going to have any issues hardware wise. You can host far more on far less.

Andrew

EDIT: Your ISP may allow it, but I'm just warning you--I wouldn't want you to have your service canceled because you violated your respective ToS/AUP. For example, Comcast and Time Warner both prevent you from doing so, and a good portion of ISPs block port 80 on ingress (but not other ports).

Comcast ToS

Technical restrictions:

-use or run dedicated, stand-alone equipment or servers from the Premises that provide network content or any other services to anyone outside of your Premises local area network (“Premises LAN”), also commonly referred to as public services or servers. Examples of prohibited equipment and servers include, but are not limited to, e-mail, Web hosting, file sharing, and proxy services and servers;

Time Warner ToS (they will require that you upgrade to business class if they "catch you" hosting a web server):

Unless you have specifically subscribed for commercial grade service, the ISP Service is provided to you for personal, non-commercial use only. The service cannot be used for any enterprise purpose whatsoever whether or not the enterprise is directed toward making a profit. If it is your intention to use this service for these purposes, please contact Operator to inquire whether commercial grade service programs are available.

8
  • +1. Also, many/most home internet connections have a low upload speed - 256k-1.5mbps is average. They also many times have a higher round trip time, slowing any connections even more.
    – KJ-SRS
    Jan 1, 2011 at 22:27
  • 3
    Disagree - most ISPs these days are fine with this as long as you don't generate "big" traffic, and before you get to that point you're gonna find you want to move the site elsewhere anyway to keep the connection useful for your own browsing. This is why you get 12Mbps or more down, but typically only 1Mbps or less up.
    – Joel Coel
    Jan 2, 2011 at 1:52
  • 4
    Responded with comments from two of the prevalent ISPs in the area that explicitly prevent you from hosting. All I'm saying is, make sure you double check with your ISP before possibly getting your service disconnected. :)
    – Andrew M.
    Jan 2, 2011 at 3:35
  • Hmm... the Time Warner TOS would allow you to run a web server, as long as it's not for an "enterprise" service. For example, a family website/blog is hardly enterprise, but a home-based business or not-for-profit site would be. And even for Comcast, I think that's mostly a safeguard to prevent abuse. Can you find a recent case of someone actually getting kicked for this?
    – Joel Coel
    Jan 3, 2011 at 0:51
  • 1
    I don't know why you're arguing with me. All I'm saying is, there are instances where it is not allowed and that the OP should check this beforehand.
    – Andrew M.
    Jan 3, 2011 at 5:32
6

The best anyone here is going to be able to offer you is a wild-ass guess. This isn't something we can estimate for you; we don't have access to your code, your sql statements, or your MySQL and Apache configurations to determine their tuning.

You need to grab some HTTP benchmarking software and measure. That is the only way to get a meaningful answer to your question.

2
  • He never specified apache, but otherwise +1 - The code he writes running the site is going to matter a lot more than the system he chooses.
    – Joel Coel
    Jan 2, 2011 at 1:55
  • @Joel, see the questioner's comment above, he did specify Apache. @Blueben, +1 for the specific type of guess.
    – Chris S
    Jan 2, 2011 at 3:27
5

If you're really concerned about capacity, then running a server on your personal machine is not the answer. Could a machine of that caliber, with a well written web app, serve a few dozen simultaneous users a page that joins info from three database tables? Almost certainly. But if you care enough to ask the question, you should probably just look into some bargain hosting. There's plenty out there. Also, generally speaking, it's far less about the hardware than how well written the app is. Remember, people were serving data driven web sites to hundreds of simultaneous clients on far inferior hardware a decade ago.

1

The hardware, software, and connection you describe are certainly capable or running such a site and even handling dozens of hits per second.

However, none of those elements (hardware, software, connection) are ideal for this purpose; whether they will stand up to your specific needs depends entirely on the specific code you've written to accomplish the task. If you have to ask about system requirements for scaling a site, you probably don't (yet) know how to write code that will scale well.

0

Assuming you don't have any problems with your service provider either shutting down your internet service or blocking incoming connections on port 80. Your limit is probably going to be determined by your bandwidth and the size of the images that you plan on displaying. Unless you write some really convoluted logic (or have very extensive data manipulation before displaying) for getting the data from the data base you are going to run into bandwidth problems long before you run into problems with to many mysql queries.

Not the answer you're looking for? Browse other questions tagged .