互联网
服务器
阿里云
服务器架构
腾讯云

一个大型网站需要多少服务器?

以我知道的携程为例子,携程日均动态PV是3千万左右。携程一共有5个数据中心,6000多台服务器,支持着1500个在线应用程序。 每宕机一秒钟,携程的损…
关注者
2,084
被浏览
893,072

62 个回答

我来分享社区型网站的大概服务器需求吧。

不知道各位开发者听没听说过 掘金, 我2016-2019年在掘金担任技术总监(现已离职), 从0开始设计了掘金现有的整体架构 (包括软件架构和硬件基础设施, 所有开发和技术相关的业务均由我负责).

掘金到目前为止(2019-09-06), Alexa 全中国排名为626 (曾经最好成绩在230左右. 作为对比segmentfault是101, OSChina是154), similarweb 全中国排名为399 (作为对比segmentfault是329, OSChina是314). 不知道这样的成绩能不能算是"大型网站".

就业务类型来讲,社区业务本身的复杂性更多是产品功能之间的依赖造成的逻辑复杂。比如你给别人点个赞这个数字要反映到被点赞的文章上,还要给被点赞的作者发送通知,还要把点赞这个动作显示到你的timeline上,还要让关注你的人读取到你的这个动态等等。但说到底只不过是web业务而已。因此CPU,内存,磁盘等资源的使用密度都不算特别显著。

线上

我们先定义这个服务器是"一个运行操作系统的实体"吧. 毕竟现在全是虚拟化, 不太好计算到底用了多少物理服务器.

因为全是web业务, 所以相对来说掘金不是很复杂.


web端 是由 3 个 8core16G 的云服务器组成. 前面接了4个负载均衡每个负载均衡绑定了一裤兜IP用来应对DDoS.

微服务层 由4个 16core32G 的云服务器组成. 同样, 前面也有4个负载均衡.

cronjob(定时任务) 2 个 4core 8g云服务器.

数据库 2个MySQL实例(4机), 5个MongoDB实例(总计20机), 14个Redis实例(14机).

中间件 zookeeper(6机), kafka(6机), ELK(3机).

大数据 CDH全家桶(10机)

杂项 认证服务器, DNS, 冷备份等(6机)

以上就是承载在线业务的所有机器了, 不包含负载均衡等直接提供服务的云服务商实例, 总计78个实例.

如果极限压缩的话, 比如数据库不弄的那么复杂, 尽可能复用实例, 砍掉大数据等供运营的组件, 估计40以内实例就能完成一个这样的网站.

也就是说, 实现一个在中国排名500左右(世界大概3000排名左右)的社区网站, 40台服务器差不多可以完成了(当然其他业务类型可能会更多也可能会少一些, 不过一个社区类型的网站, 应该大家都差不多).

线下



但, 这只是冰山的一部分, 我们还有测试环境和日常供工程师使用的本地机房服务器等:

线下CDH全家桶 14 实例

开发用服务器 6 实例

代码托管, CI,CD 6 实例

容器环境 16 实例

CEPH 6 实例

数据冷备 3 实例

杂项 6 实例

总计 57 实例.

即最终掘金在用的服务器是 135 实例. 按照 4 实例一台物理机去计算,物理服务器应该在 34 台服务器左右(2个机柜就全装下了).


一些有意思的事情



由于我在这方面比较有经验, 所以从省钱的角度, 我们的本地服务器都是二手服务器


我们的本地服务器
得益于虚拟化,50+实例的虚拟机需要的服务器一个小板车就能运走了


开机BIOS画面是百度的IBM X3650M4服务器

是的你没看错, 都是淘宝货【手动滑稽】甚至有一台服务器还是百度下架的。

感谢这些行业龙头淘汰的服务器, 对于一个初创公司, 能买到廉价的设备来节省资金实在是一件幸事。当然, 有一个好老板的支持也很重要. 我们在采购服务器这一件事情上就能节约接近30万.

(google在刚开始成立的时候, 也是靠着一大堆二手设备来提供服务的).

google最初的生产用服务器


有的朋友可能会担心用二手服务器会不会出问题?这的确是个隐患,所以我们只在本地使用。线上仍然是直接用云服务。

熟悉我的朋友可能知道,我家里的机器数量其实比我公司的还要多。所以经验方面对我来说不是问题。哈哈。



以上就是我在掘金的实践经验了。



其他

搜索业务还是十分吃资源的,我在360搜索的时候, 仅仅用来展示搜索结果的web机,就达到了5机房每机房12机。一二级引擎机器的数量都在几千台以上。

直播业务的就会少一些了,更多是在CDN费用上会更贵。本身的业务不怎么吃机器。以PandaTV举例,在我离开的时候(2016年下旬),估计机器应该在1000台之内。我负责的数据业务实际上也就一套大一点的CDH全家桶,不到20台机器,以及一些平时用的业务机器,也是20台左右。

以上。

编辑于 2020-07-27 14:04

还是拿StackExchange来说吧,当然业务不同没法直接比,仅作参考。

Performance - Stack Exchange

560 Million每月,平均每天1800+w。

用了9 Web Servers,4 SQL Servers,2 Redis Servers,3 Tag Engine Servers,3 ElasticSearch Servers,2 HAProxy Servers,每台机器只用了10%左右的资源,其中也包含所有的容错机。

看上去差距还是很大的,数量级的差距。当然StackExchange团队的风格是把代码性能优化到极致,不是一个普通团队能做到的。不过就算考虑到这点,数量级的差距还是有点说不过去。

发布于 2015-01-17 23:38

谢邀。

c站目前总用户八万,日活两万。不知算不算大型网站。

但是目前我们服务器是阿里云学生机,是的你没有看错,就用一台学生机撑起了两万的日uv

这里面用了很多骚操作,

图片放免费图床,比如头条

头像附件用的 gavatar 和qq头像

视频现在主要放淘宝,京东,抖阴


以上,几乎除了文字以外的内容都放在了各种的国内节点,速度不仅很快,而且还方便部署

所以这个问题,大型网站的服务器,可以小到不敢想象

附上c站地址: https://www.clicli.cc

2019.9.20 c站累计用户 13w 啦,但是日活还是 2w

2019.11.16 c站用户量 21w,日活仍然不到 3w

2022.12.31 c 站复活,累计用户量 44w 了,日活现在不到 1w 了


最新更新:

服务器现在在瓦工,上个月买的年度最强套餐,是的没错就是那个一天售罄的套餐嘿嘿

视频,头像,海报,仍旧是白嫖为主,但是我们也有大盘鸡用来存原创视频,成本不高,用 cf 做 cdn,目前也还不错

编辑于 2023-01-31 20:38

韩信点兵,多多益善。

现在不光在线服务吃机器,背后跑各种大数据查询的,人工智能算法的,你给他们多少他们就能用多少。巨头的服务器数量是几十万甚至百万量级的。比如说,好几年前Google的服务器数量是两百五十万台。

这是Facebook其中一个数据中心,一眼望不到头。我盗的图,侵删。我去年还是前年去过一个Twitter的数据中心,也非常大,在里面走的脚疼。


再来一张aws和azure数据中心的天下布武,只有非洲还是处女地。每个数据中心一般有几千到几万甚至十几万服务器不等。当然,这些服务器他们也不是都自己用。

下图是来自公开资料中Twitter各种服务器的比例,我没有泄露公司的机密。可以看到数据以及消息的存储和处理占了很高的比例。

我看到有朋友说水平高的程序员可以用很少的机器跑很高的并发,这诚然是一种水平,不过让非常多的机器一起跑还能做的结果准确和很高的稳定性,这也是一种水平。哪种水平更高,就仁者见仁,智者见智了。

编辑于 2019-10-01 06:30

大型网站需要的服务器和业务规模相关,也和业务复杂度相关。
(1)非复杂业务的普通网站,例如新闻类的,因为比较交互简单,以展现为主,即使PV非常大也不会需要很多台机器。单台Nginx服务器处理静态页面,可以达到几千甚至几万QPS(当然这只是个理论值,算上页面体积大小、宽带等因素,通常达不到的)。
(2)业务复杂的系统,例如你上面说的携程。复杂的用户交互、存储、支付、第三方通信等等,再加上要保证系统稳定和支持容灾,会让机器的需求增加很多倍。

将系统剖析出来,对比业务复杂度,然后再对比机器数量才更具有可比性。

另外,机器配置也有好坏,新的服务器性能可能几倍甚至十倍于老机器。

编辑于 2019-11-08 19:24

我用6台服务器,本来想着能扛住上百万用户,结果发现根本没有那么多用户,这点用户,一台服务器就够了

发布于 2024-03-02 11:08

根据博客园官方2019年08月26日发布的博客,博客园用了7台阿里云的4核8G服务器实例。

不过博客园应该也不算是大型网站。

发布于 2024-03-03 10:54

讲一下我之前做的一个认证授权系统,主要的性能指标和参数如下:

1、pV超过13亿/天

2、系统DAU:2800W+

3、单机响应性能QPS:2000左右

4、3数据中心,多活实现

5、接入业务30+

关于业务

系统主要是基于oauth2.0进行授权认证,token主要是存储在redis,mysql的数据非常少,主要是记录一个接入业务的id和权限,主要用作后台管理使用。

Redis采取客户端hash sharding的方式,自己实现的一套客户端redis分片方案

业务分为两类:

一类是API对外提供认证服务,以及token的回刷服务。这一块的请求PV量大概每天在3亿+

另外一类是RPC服务,公司内部开发的一套框架,提供token的认证和授权,每天的请求PV量大于10亿

关于服务器

虚拟机

服务器主要是集中在redis和API以及RPC服务上,按照虚拟机规格如下:

Redis:强内存需求,4Core + 32G,总计50台

RPC服务:只是做验证,无任何计算,2Core + 8G,总计 25台

API服务:账密验证及token加解密等,4G + 16G,总计 16台

物理机

物理机(非刀片服务器)一般是超线程56核,384G内存

这样折算的话就是5-6台物理服务器左右

----------------------------------------------------------------------------------------------------

额外补充

关于架构

由于系统是纯redis读写服务,多机房涉及redis同步,采取的方案是业务将需要写入redis的数据同时写一份到mq,mq在多机房之间通过同步组件进行同步,如下方案图

如果业务出现跨机房切换访问授权或者认证,那么就采取本地优先访问,如果没有依据token的机房来源到对应机房进行主动加载,如果机房专线出现故障会进行外网和内网专线拉取模式切换。

编辑于 2019-11-13 13:35

什么叫大型网站?

我觉得先要把它定义好

否则几个人用的小网站,也可能要上百台服务器啊。上亿人用的文本类应用网站,一台大型点的服务器,CPU、内存、磁盘、带宽,大一点,也是够用的。

发布于 2024-03-04 13:19

利益相关,基础架构从业者来答一波:没有定值

现在还在做网站的公司大部分在线业务都已经上云了。只要上了云,容量设计和自动扩容就是必备功课了。

先说容量设计,这部分最简单粗暴,先把你流量和服务各个环节所需要节点数目做一个近似线性的映射关系,然后在满足每台机器mem,cpu有冗余的情况下,做一份高可用计划(记得AB测下你的高可用),这时候你就有了个现有流量下凑乎能用的基础架构。这时候你的节点数目还是固定的,但要靠benchmark结果测算。

下面高能的来了,对于一个流量变化很大网站,很多人要不然开高冗余防击穿,要不然卡高占用降成本牺牲可用性,其实都是比较业余的方案。现在云服务器都是支持动态扩缩容的,你需要为你的基础架构布设好监控,做好节点和容器的自动扩容,这样基本就能保证你可以在几分钟内大幅扩容你的机器跟上流量变化。这部分需要做压力测试来做有效性验证。这时候你的容量就已经不是固定值了,可能从闲时的几十台台到峰时的几百台。

但聪明的仔已经发现了,几分钟的扩容对于突发性访问,通常是已经丢掉了第一个流量高峰(可能是几秒钟骤增)。这时候除了做请求队列,把大家拖一拖,有没有容量上的方案呢?

其实阿里,京东他们在应对什么618,双11都是会做提前指定容量的人为扩容的。这种操作再演变到日常,其实可以通过机器学习预测流量曲线,来做到最优化的节点数目变化的。

这种人为扩容+自动扩容+请求队列的方案,对大部分服务(不只是web)其实都够用了,剩下的就是部署方案和网络架构上的优化了,来提升请求处理效率,降低资源占用。这个步骤里前期benchmark出来的公式可能会变,服务不变,一个部署方案新版本,可能会把整个节点数降低or提升一个数量级。

发布于 2024-02-12 10:35

一个网站,同样的流量,要复杂可以非常复杂,要简单也可以非常简单。

静态站

我们就说一个3KW PV的服务器(日3kw是小业务,协程日活三千万差不多)吧,假设说是一个静态站,你按每天86400秒,峰值是平均值的5倍来看:

30000000/86400*5=1736 QPS

你自己租云主机的话,Nginx随便单台扛个十万QPS无压力,算上登录和CMS乱七八糟的加起来几台机器足够用了,一年也就几万块钱。

如果静态上CDN,就更不需要自己的服务器了,而且性能刚刚的,联通性也好。

在线业务

好的,如果接下来你功能复杂了,需要做很多服务端应用程序,也需要很多数据库,再上个搜索,搭一个ES就好几台机器。

成本方面还是看你业务的复杂度,几十万日活的业务,上百台机器足够玩了。

大数据

如果你业务大了,用户多了,还要做一些大数据计算,那成本可就高了,随便百十台机器。中大型公司至少几千台一个集群,也有上万的计算集群。

推荐算法

推荐都是基于大数据的,模型训练,在线推理,也都随随便便几千台机器一个集群,小业务玩不起的。


整体来说,投入这些成本一定会有更大的收益,只不过对于外行来说,很难理解复杂业务的复杂性和系统带来的收益。

发布于 2024-02-21 18:12

这个问题没有一个确定的答案,因为不同的网站有不同的业务需求、访问量、性能优化、安全保障等因素,都会影响服务器的数量和配置。

一般来说,一个大型网站需要考虑以下几个方面:

一、服务器的分布

为了提高网站的访问速度和稳定性,一般会在不同的地区部署多个服务器,通过负载均衡和CDN技术来分担流量和压力。

按照你上面说的千万PV级别的网站,这里从考虑成本的角度,按照最小的体量来大约算一下。

这里以阿里云服务器为例,(阿里云目前是国内公有云最大的服务商,无论是节点还是硬件都是数一数二的。)这里也主要是按照该网站的大多数用户是国内用户。

阿里云官网: 传送门

从上图可以看出,阿里云服务器在全国(含香港)有14个服务器机房。如果你要考虑到覆盖全用户,提升访问体验,最好是每个区域部署一台云服务器。

所以,这里你最低需要购置14台云服务器。基本上能覆盖全国。

如果还有全球用户,阿里云的节点几乎覆盖全球,后期也好扩展。

上图是阿里云服务器在全球的节点。

二、服务器的功能

为了提高网站的功能性和可扩展性,一般会将不同的业务模块分离到不同的服务器上,例如数据库服务器、应用服务器、缓存服务器、文件服务器、消息队列服务器等。

例如,某大神分享了掘金社区网站的架构设计,他们使用了78个线上实例和57个线下实例,包括Web端、微服务层、定时任务、数据库、中间件、大数据、认证、DNS等。

这里按照最低的预算,每个区域最低布置2台云服务器,就是28台云服务器

三、服务器的性能

为了提高网站的性能和效率,一般会选择高配置的服务器,并且使用优化的算法和代码来减少资源消耗和响应时间。例如,CSDN博客的一篇文章提到,单台Nginx服务器处理静态页面,可以达到几千甚至几万QPS(每秒请求数),而业务复杂的系统,例如携程、淘宝京东等,则需要更多的服务器来支撑海量的数据处理和用户交互。

四、需要什么的云服务器

上面三中提到这么大的项目需要高配置的服务器,那么如何选择服务器,这里以阿里云为例。

阿里云针对这样的大型应用推出了几款适合这样的大型应用服务器。

1、阿里云ECS第7代实例规格云服务器

传送门iil.ink/alic7g7r7

阿里云ECS第7代实例规格云服务器采用了第三代神龙架构,是一种高性能、高安全、高性价比的云服务器产品,适用于多种场景,如网站后台、自建数据库、高性能计算、大数据分析等。

g7nex包括的实例规格及指标数据如下表所示:

2、阿里云GPU云服务器

传送门iil.ink/aliyungpu

阿里云GPU云服务器是一种提供GPU加速计算能力的弹性计算服务,具有超强的计算能力,服务于深度学习、科学计算、图形可视化、视频处理等多种应用场景。

阿里云GPU云服务器配备了业界超强算力的GPU计算卡,结合高性能CPU平台,单实例可提供高达5PFLOPS的混合精度计算性能。同时,阿里云GPU云服务器实例的VPC网络最大支持2400万的PPS及160Gbit/s的内网带宽。

gn7i包括的实例规格及指标数据如下表所示:

3、阿里云弹性裸金属

传送门iil.ink/txljsl

阿里云弹性裸金属服务器是一种可弹性伸缩的高性能计算服务,计算性能与传统物理机无差别,具有安全物理隔离的特点。阿里云弹性裸金属服务器基于自研的新一代软硬一体化虚拟化技术架构(神龙架构)而打造的创新型计算产品,融合了虚拟机的弹性资源、分钟级交付、全自动运维和物理机的性能无损、完整特性、硬件级强隔离。

ebmg7包括的实例规格及指标数据如下表所示:

五、如何管理这么多云服务器

阿里云弹性裸金属服务器还有一种集群模式的。但是这种太贵了,最好还是根据自己的实际情况,购置云服务器,然后再集群管理。如何管理,可以参考下面的教程:

希望本文的回答能够帮得上你!

更多关于云服务器的活动,参考下面的文章:

发布于 2023-08-24 18:00

视访问量和数据量来决定吧?大型网站虽然服务器多,但是也不可能盲目增加,因为这里面有成本和利润的关系。不过当访问量和数据量达到一定级别,升级超级服务器的成本应该没有购买普通服务器组阵列来的划算。而且超级服务器有配置极限。

发布于 2015-01-18 08:05

你给的三个数据,三个数据都对不上。

不知道你说的是物理宕机还是逻辑宕机。实际物理机宕机率和可用性相关,但是完全不等同。姑且按你的算吧。

0.05%的宕机率, 相当于2个半9的可用率,这在互联网行业根本是不可接受的。所以认为这个数据不正确。

后来给出一个小时宕机1秒,一年大概宕机2.4个小时。在互联网行业属于非常差的水准。

可用性,4个9大概是50多分钟。普遍业界是可以达到,差一点的1个多小时也有。

总之,判断服务损失的指标,可用性更科学。我们无从判断6000服务器是否够用。但是提升可用性除了硬件还有很多架构和软件的方法,做到4个9以上是非常有可能的。

编辑于 2022-10-19 10:15
  1. 关于大型,不同人有不同的理解
  2. 有人觉得网页多,规模就大,有人觉得流量高,规模就大。
  3. 如果按百度现有的运营来讲,想做一个一样的,需要服务器集群....几百上千台高配服务器,但是!不可能一个人开始就做出人家大公司十几年的运营结果。
  4. 或许开始可以做的表面看起来足够大,但实际上初期的运营资源很低,流量少,访客少
    那么可以从低配来运作,然后赚钱了再升级配置,也不迟。
  5. 有些大型门户比如视频类,需要的不仅仅是服务器,还要有大量的带宽资源来支持访问。
  6. 所以关键看是怎么策划的,运营方案,开发规模有多大。

另外选择活动也要在一些大促时候性价比会更高,我所了解的是目前国内比较热门的阿里云和腾讯云,双十二活动可以参考他们的官网,希望对你有用。

参考官网活动:

而且目前双十二期间还有很多折扣,比平时购买划算很多,想买的可以下手了。

【阿里云】阿里云 1核2G1M云服务器96元一年,1核2G 298 三年 2核4G 847元 三年

阿里云企业VIP活动,官网地址:


【腾讯云】1核2G1M低至99元/年,1核2G 298 三年 2核4G 586元 一年


编辑于 2020-12-12 14:47