我如何计算需要多少台服务器?

我如何计算需要多少台服务器?

假设我和我的一些朋友试图为大约 4,000,000 人建立一个社交网络。假设其中随机有 100,000 人每天在线。数据库使用量将是每天 200 MB!

现在我如何知道我需要多少台服务器以及哪台最适合我们的目标?

问候,

答案1

除非你恰好有 400 万用户排队等待使用你的网站,否则我只会购买一台廉价服务器,开始一切,然后看看它会如何发展。相反,你应该集中精力为你的服务构建一个可扩展的软件平台。测试、基准测试、分析一切,这样你就可以随时了解软件/硬件的极限以及更改会产生什么影响。

如果你主要只是对高端可扩展性感兴趣,你可以搜索当前的“大佬”是如何做到的,以及他们在此过程中面临的挑战。例如,Facebook维基百科高可扩展性我的空间等等……您可能没有设定那么高的目标,但您可以从他们的做事方式和使用相同设计模式中学到很多东西。除非您有处理如此大型系统的经验,否则很难或不可能猜测您将遇到的可扩展性问题,除非您遇到这些问题。

答案2

这取决于普通用户有多少时间/页面加载。根据 Facebook 的说法,社交网络往往具有“粘性”,因此人们会停留一段时间。页面加载越多,系统负载就越大。网站背后的代码将产生另一个巨大的影响,更好的代码将减轻系统的负载。

如今,如果您不清楚自己的网站会增长多少/增长速度有多快,您可能需要考虑 EC2 或 Rackspace Cloud/Slicehost 等云托管环境。您可以购买两个服务器实例来开始使用,并随着负载的变化快速添加更多服务器。体验您的应用程序是了解您真正需要多少容量的最佳方式。闲置的过剩容量成本高昂,因此请尽量避免。

话虽如此,如果用户每天只加载页面几次,那么 100,000 名用户并不是很大的负担。您应该能够使用最少一台服务器(可能总共不超过 2-3 台)开始实现这一目标。

答案3

我们没有回答这个问题所需的四分之一的信息,1 我们需要知道你的预算,2 我们需要知道你的代码有多高效以及需要多少电量。你有多少数据?老实说,400 万不太可能,如果你有那么多数据,你会聘请专业人士来评估你的需求。

答案4

根据代码的质量和效率,我认为需要三台平均价值 3-4000 欧元的服务器,甚至可能需要五六台以实现冗余和负载平衡。

每天 16 小时内,100,000 名用户平均每小时浏览 10 个页面,相当于每秒约 280 个请求,并且突发速度可能是这个数字的三到四倍。

每天 200MB 的数据库使用量,我不知道,是不是有点乐观。我认为即使增加十倍也不够。

它通常归结为“代码可以处理多少请求”。
理论上,一个请求占用三分之一的资源和时间,但其交付量将是编写不佳的请求的三倍。

相关内容