首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网站数据增多 访问量增大后 扩容增配还是动静分离?

网站数据增多 访问量增大后 扩容增配还是动静分离?

原创
作者头像
魏艾斯博客www.vpsss.net
修改2019-07-11 14:30:45
3.2K0
修改2019-07-11 14:30:45
举报

网友说自己的小型网站部署服务器上,随着网站数据增多、访问量变大后,用什么办法解决大流量访问,扩容增配置还是动静分离呢?这个问题对于很多站长来说是一个挺纠结的问题。业务在高速增长中,传统的方法是扩容增配,CPU/内存/带宽等等都是扩容的对象。那么现在随着云服务器的普及率越来越高,也可以利用动静分离的办法来解决这个问题。本文中魏艾斯博客说一下整体思路,有了思路再去操作就容易很多了。

一、扩容增配的传统方法

一般网站应用和数据放在同一个服务器中,起步配置1核CPU、1G内存、1M带宽,这样子初期能满足一个小型网站的需求。后面随着数据增多和访问量增大,就要逐步增至更大的配置。普通网站内容主要是文字配图片(小尺寸、分辨度不高的),增配也没啥问题。如果是那种图片尺寸较大的图片站、动漫站就不同了,网站主要内容是高分辨率图片,而这种网站往往流量都蛮大,网页内容和图片由云服务器提供下载,压力就很大,导致用户打开网页速度慢。

那么传统方法扩大CPU核心数、内存、硬盘、带宽等等,这样做初步看来好像可以缓解一定程度的访问压力。数据库、图片视频、文档等资料仍然由同一台服务器提供服务,原来的结构不变,压力仍然存在。当流量大到一定程度上,还是要继续扩容增配,这是一个无止境的循环。

单纯依靠高配置服务器去抗住大流量的并发访问,是过去比较常用的方法了,不好的地方是一味的靠提高配置来应对流量激增的情况,这个办法并不完善。

二、动静分离的方法

下面说一下现在常用的动静态分离的办法。这个意思说起来就是把数据库放在阿里云数据库主机上;图片视频、文档资料放在阿里云OSS对象存储上,这样ECS服务器只负责网页文字内容的访问,压力减轻很多。

1、以下是腾讯云服务器是国内与阿里云服务器不相上下的云计算商家。规模差了好多(起步时间早晚导致的差距)但是技术上差距不大。不管稳定性还是速度方面在国内也是一流的。魏艾斯博客就放在腾讯云服务器上面。

适合动静分离的方法使用。

一般2核4G内存的企业级服务器,配合云数据库和对象存储,能够支撑每天十万的访问量;4核8G内存配合云数据库和对象存储,能够支持每天几十万PV的访问量。

而CPU内存比1:4的配置适合对内存要求高的耗费资源型业务。比如2核8G内存和4核16G内存机型都是这样。

腾讯云新用户代金券活动:点我领取新用户专属代金券

腾讯云精选云产品秒杀活动:点我直达活动页面,AMD云服务器 1核 1G内存 1M带宽配置是独享型服务器,230元/年超低价格。

热卖云产品三折:点我打开 云服务器、云数据库特惠,服务更稳,速度更快,价格更优;

2、云数据库

数据库常用的是基础版、高可用版。

3、对象存储

也就是存放图片、视频和文档的云服务器。

4、CDN

三、成本和效果的平衡点

1、如果使用云数据库和对象存储做后端分流数据和文件,网站、业务访问速度快,且云服务器的压力小;如果单纯增配的话,打开速度和效果全都依靠这台服务器的强劲性能,配置高速度就快,配置跟不上流量发展的话,访问速度就会慢下来。总体来说效果没有动静分离好。

这个实操效果要你自己去测试一下,服务器运维这一块只有实际操作过了才有发言权。

朋友的大图片站点,去年每天访问几万PV的时候,使用阿里云2核4G内存机型,配合阿里云对象存储、阿里云CDN,能够有效支撑;而今年快速发展到每天几十万访问流量了,升级到4核8G内存机型,配合对象存储、阿里云CDN也完全可以支撑的住。因为他的站对数据库要求不高,访问者主要都是看图片的,所以目前还没有单独使用阿里云数据库。但是据他说现在日流量很大,给数据库的压力也不小,正在考虑单独购买云数据库,做到彻底的动静分离,减轻ECS云服务器的压力。这样才能有效提高服务器效率,解决客户访问中的最后一个痛点,加快打开速度。

2、如果再大的业务规模和流量,就得考虑使用阿里云均衡负载SLB了。这时候后端有多台ECS云服务器,通过前台的SLB来平衡调度流量分发给哪些服务器。及时发现故障服务器并从可用节点中剔除,保证业务顺利运行。这样后台那些云服务器用不着只靠升级来应对大流量并发。因为你可以选择增加服务器数量或升级配置。

以上是一个大体的方向,实操的时候有很多情况都是变化的,比如你实际情况可能增配就行了,用不着增加服务器数量;也许你用不着动静分离,这都是根据你业务的实际情况自己判断的。

3、一般网站发展都是这三个阶段。一是单一服务器提供访问支持;二是动静分离,用云服务器、对象存储和云数据库提供服务;三是业务大到一定规模了,普通的动静分离又遇到瓶颈了,这时候前端用阿里云CDN分布到各地的节点,然后用阿里云负载均衡SLB来处理这些访问,后端用ECS云服务器、云数据库、对象存储分担压力。淘宝、天猫用的就是阿里云这些云产品,通过负载均衡来调度的,双11双12经受了多大流量、并发访问、复杂程度大家都知道的,相对来说应付你这样的“小业务”是轻车熟路的。

最后要说,你要做的是在网站发展的这三个阶段中做出正确抉择,并且在网站打开速度(用户体验)和成本中间找到一个平衡点,既花钱最省又能支撑了业务。经过一段时间磨合,就能找到相对比较合适的那个配置。老魏这篇文章是结合实际情况和理论研究后的一个综合归纳,但是难免会有一些纰漏,希望各位看官指正,或者页面右上角加入q群我们一起探讨,共同成长!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档