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
  • 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.
Zoho SalesIQ

Hassle-free live chat software re-imagined for business growth. 2 users, always free.

LVL 17

Assisted Solution

Dushan911 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

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

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
How to set default webapp for host 6 45
RewrteRule using htacess 10 60
Clearing cache in word press. 3 49
Redirect and Rewrite URL using .htaccess 38 114
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…
Over the last year I have answered a couple of basic URL rewriting questions several times so I thought I might as well have a stab at: explaining the basics, providing a few useful links and consolidating some of the most common queries into a sing…
In this video I am going to show you how to back up and restore Office 365 mailboxes using CodeTwo Backup for Office 365. Learn more about the tool used in this video here: (…
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.

920 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

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now