A Million Client Server

Posted on 2013-02-03
Last Modified: 2013-02-13
I've managed sites that were hosted on a shared server, but now I'm launching a site that could conceivably have a million  clients, and I'm wondering the best way to host it.

It seems that I need some kind of a cloud solution, where I can just keep bringing in more servers as the load increases, without changing anything in my software.

Does anyone have any thoughts on this, and perhaps some suggestions for where I should host this? Maybe some books that are best in the field.

I certainly don't want to set up my own server.  The virtual hardware has to keep running, no matter what, and the database can never go away.  I can't worry about my dog pulling out the power cord when I'm not home.

Thanks for any ideas,
Question by:steva
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
LVL 83

Accepted Solution

Dave Baldwin earned 250 total points
ID: 38850086
A million clients?  How many do you think would be trying to simultaneously access the site?

"without changing anything in my software."  No.

Realistically, you can't start at 1,000,000 clients.  If it were a really busy site, you would be talking 200 or more servers.  And that would fill some data centers.  And at that scale, the software has to change to share the load.

No, you have to start with something that works and let it pay it's way into becoming bigger.  Unless you have a whole lot more money than we thought...

For comparison, Facebook has about 180,000 servers to handle 900,000,000 users and Google has an estimated 2,000,000+ servers.  They have thousands of employees to keep things running and fix the code and make changes.

Author Comment

ID: 38856759
A million clients?  How many do you think would be trying to simultaneously access the site?
I don't know. By  "million" I mean "a really heavy load."   Other people doing what I'm about to do talk about  500,000+ clients.

"without changing anything in my software."  No.
Why should the server delivering my application care what my application does?   I know hosting providers have solutions that let you go to your control panel add CPUs and memory to your server - without changing your application.  It seems that this is, or could be, extended to multiple physical servers, with the load sharing handled automatically between the iron boxes - at the hosting provider.  There should be just one virtual server that grows as you check more boxes on a form.

Realistically, you can't start at 1,000,000 clients.
Of course.  I just want to make sure that I start with a solution that scales easily to a million.

For comparison, Facebook has about 180,000 servers to handle 900,000,000 users and Google has an estimated 2,000,000+ servers.
Interesting numbers.  Thanks
LVL 83

Expert Comment

by:Dave Baldwin
ID: 38857395
As soon as you find that 'automagic' you're looking for, let the rest of us know because it just doesn't work that way for us.
NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

LVL 17

Assisted Solution

by:Dushan De Silva
Dushan De Silva earned 250 total points
ID: 38857923
- Web traffic and storage will handle from the hosting place.
- HTTP requests/responses will balance from the web server.
- HTTP requests/responses will call application server and load balancing should hadle from the web(php,asp,jsp)  programming level
- Application will call the database and database load balancing should handle via db.

Author Comment

ID: 38860835

So if I understand you, you're saying that it is indeed possible to find a hosting solution that can be scaled up to meet growing load, without me changing my application. Right?

But I know that this doesn't always happen.  I have sites now, for example, that are on a shared server (at Hostway) where something like twenty of us are locked in one server sharing the resources, and the busier the other 19 people get the longer I wait for service (or so it seems).

Could you perhaps recommend a couple of hosting providers that you like, that will scale well as my business grows? I'd like to stay with Apache.

LVL 17

Expert Comment

by:Dushan De Silva
ID: 38861423
No, large loads can not manage only with hosting. As I stated above you should consider application programming level(multi threading), DB level load balancing.

Author Comment

ID: 38863319
Multi threading my application would reduce the time it took to service a single client request.  I don't think I need to do that.  I'm happy with the time a request takes - once it's gets into the server, and as long as there aren't too many request from other web sites taking cycles from the CPU I'm running in.  So if I contract for a dedicated server then no one else is using it and now I'm happy with the service time for a request.  But with heavy loads the queues will grow and the queue time will kill me, i.e., the time each request sits in a queue waiting for service. So what I need is a hosting provider that will bring in another server when my queue exceeds some threshold, say 10.  With no queue longer than this I should be getting good service for all my requests no matter how many are coming in, though I may have a lot of servers.

Isn't this sort of arrangement available?

Featured Post

Resolve Critical IT Incidents Fast

If your data, services or processes become compromised, your organization can suffer damage in just minutes and how fast you communicate during a major IT incident is everything. Learn how to immediately identify incidents & best practices to resolve them quickly and effectively.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction As you’re probably aware the HTTP protocol offers basic / weak authentication, which in combination with the relevant configuration on your web server, provides the ability to password protect all or part of your host.  If you were not…
In Solr 4.0 it is possible to atomically (or partially) update individual fields in a document. This article will show the operations possible for atomic updating as well as setting up your Solr instance to be able to perform the actions. One major …
If you’ve ever visited a web page and noticed a cool font that you really liked the look of, but couldn’t figure out which font it was so that you could use it for your own work, then this video is for you! In this Micro Tutorial, you'll learn yo…
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …

688 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