TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Server for 100,000+ users on site at once

7 pointsby StatusStalkerabout 14 years ago
How many servers do I need to power a site with 100,000+ users online at once? Where would you recommended I purchase said server/severs from?

3 comments

byoung2about 14 years ago
It depends a lot on what they are doing. Are they all watching video or playing an interactive game? Are they commenting on an active blog or forum? Are they browsing product listings on an ecommerce site. Or just reading articles on a news site?<p>If the traffic is write-heavy, like a forum or blog with active commenting, you'll need a beefy database to handle all of the concurrent writes. Same for the interactive game.<p>For read-heavy sites like the video site, you would have to use a CDN to keep that sustained video transfer rate and to reduce latency for users. For the product listings or the news site, you could get away with a lighter server setup and use static caching and CDN content mirroring to ease the load on your servers<p>It would also depend on whether this traffic is regular throughout the year, or does it spike at predictable times (think about an Apple product blog after WWDC or a coupon blog on Black Friday). If you have regular, predictable traffic, you can buy or lease dedicated servers...for traffic to spikes, look into cloud based servers like Amazon EC2 where you can scale up and down at will.<p>At my current job (a media company that operates 850 radio stations in the US), we just have a few loadbalanced frontend servers with squid and memcache and a few database servers behind Akamai Edgecast CDN mirroring. All of the traffic is read-only (articles, transcripts, news), so no actual users ever hit our servers, except to sign up for newsletters. Show audio and video are streamed by Akamai or another provider.
评论 #2381562 未加载
staunchabout 14 years ago
Your software matters a heck of a lot more than hardware.<p>You pretty much have to be using a non-blocking event-based server to achieve this level of concurrency in an efficient way. Forking/threading processes will never perform anywhere near as well.<p>Some non-blocking event-based frameworks: Node.js/Twisted/Tornado/AnyEvent/Libevent<p>You probably want to create a program that all clients connect to and acts as a coordinator for the whole system. Any actual heavy lifting can be done on other servers (CPU/IO intensive tasks, etc). Each web client can establish one connection to your "coordinator" server process and additionally make whatever HTTP requests are necessary to save/fetch data, etc.<p>This was historically known as "The C10K problem" as in concurrent 10,000 connections. Modern hardware and epoll/kqueue make 10K pretty easy in many cases.<p><a href="http://www.kegel.com/c10k.html" rel="nofollow">http://www.kegel.com/c10k.html</a>
tlackabout 14 years ago
It would really depend what those users are doing. If they're reading a single HTML page, you could handle that fairly easily. If they're playing a game it's another story.