Server for 100,000+ users on site at once
1–10 of 14 posts
Re: Server for 100,000+ users on site at once
#2Re: Server for 100,000+ users on site at once
#3If 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.
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
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.
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.
Re: Server for 100,000+ users on site at once
#4It 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? 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 gam…
Re: Server for 100,000+ users on site at once
#5It 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? 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 gam…
watching videos (embedded from other sites), listening to music, uploading photos, and sharing data. Our test site is running so slow now and it only loads 20 activities at a time.
Re: Server for 100,000+ users on site at once
#6It 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? 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 gam…
watching videos (embedded from other sites), listening to music, uploading photos, and sharing data. Our test site is running so slow now and it only loads 20 activities at a time.
1) You want to move static data off your system onto another site like s3.
2) You want to do whatever you can async. ie. if somebody shares data, you don't have to make it available immediately. Just place it in a queue and have a second system go through and deal with it.
Re: Server for 100,000+ users on site at once
#7It 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? 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 gam…
watching videos (embedded from other sites), listening to music, uploading photos, and sharing data. Our test site is running so slow now and it only loads 20 activities at a time.
Re: Server for 100,000+ users on site at once
#8It 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? 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 gam…
watching videos (embedded from other sites), listening to music, uploading photos, and sharing data. Our test site is running so slow now and it only loads 20 activities at a time.
Also check your SQL, often a lot of cpu cycles are wasted on shoddy database interaction.
Re: Server for 100,000+ users on site at once
#9You 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.
Some non-blocking event-based frameworks: Node.js/Twisted/Tornado/AnyEvent/Libevent
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.
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.
Re: Server for 100,000+ users on site at once
#10Earlier quoted context omitted.
watching videos (embedded from other sites), listening to music, uploading photos, and sharing data. Our test site is running so slow now and it only loads 20 activities at a time.
What programming language/web server/cloud server is your test site using?