关注VPS服务器
相关知识分享

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

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

一、扩容增配的传统方法

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

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

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

二、动静分离的方法

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

1、以下是阿里云企业级服务器,适合动静分离的方法使用。

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

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

2 核 4G 云服务器
40G 高效云盘
2 核 8G 云服务器
40G 高效云盘
4 核 8G 云服务器
40G 高效云盘
4 核 16G 云服务器 40G 高效云盘
计算网络增强型实例 通用网络增强型实例 计算网络增强型实例 通用网络增强型实例
最大网络收发包 250 万 PPS 最大网络收发包 450 万 PPS 最大网络收发包 250 万 PPS 最大网络收发包 450 万 PPS
最大内网带宽 6Gbps 最大内网带宽 10Gbps 最大内网带宽 6Gbps 最大内网带宽 10Gbps
720 元/年  省 2088 元 1050 元/年  省 2826 元 1390 元/年 省 3782 元 2390 元/年 省 4918 元
立即购买 立即购买 立即购买 立即购买
8 核 16G 云服务器
40G 高效云盘
8 核 32G 云服务器
40G 高效云盘
16 核 32G 云服务器
40G 高效云盘
计算网络增强型实例 通用网络增强型实例 计算网络增强型实例
最大网络收发包能力 250 万 PPS 最大网络收发包能力 450 万 PPS 最大网络收发包能力 250 万 PPS
最大内网带宽 6Gbps 最大内网带宽 10Gbps 最大内网带宽 6Gbps
3190 元/年 省 6710 元 4690 元/年 省 9482 元 6190 元/年 省 13166 元
立即购买 立即购买 立即购买

2、云数据库

阿里云数据库常用的是基础版、高可用版。购买之前点我领取阿里云千元代金券,百款产品抵用 50 元起,可以省钱哦。

阿里云数据库分类比较详细,这里列举出的只是其中一部分,更多类型请参考阿里云数据库RDS MySQL版如何选择?

MySQL 5.7 高可用版 MySQL 5.7 高可用版 MySQL 5.7 高可用版
CPU: 1 核 CPU: 1 核 CPU: 2 核
内存: 1G 内存: 2G 内存: 4G
存储: 20GB 存储: 20GB 存储: 20GB
优惠价:4680元 / 3 年 优惠价:4968 / 3 年 优惠价:9288 / 3 年
点我直达 点我直达 点我直达

3、对象存储

也就是存放图片、视频和文档的云服务器。阿里云提供海量、安全、低成本、高可靠的云存储服务,提供99.999999999%的数据可靠性。并且提供全面优化存储成本。点我直达官网了解更多。

4、阿里云CDN

点我直达

ESC云服务器的前端添加阿里云CDN,可以一定程度上减轻ECS服务器的压力。CDN加速可以把网站数据分布到各地的服务器上,访客访问时分配到距离最近的加速节点上,自然访问速度加快了。

阿里云CDN把国内流量和https流量分开计费的,如果你是SSL证书的网站,需要同时购买国内流量包和https流量包才行。普通网站一年不到一百块钱就搞定了,便宜的很。具体情况请点我直达官网页面。

5、腾讯云服务器

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

CPU:1核
内存:1GB
硬盘:50GB
带宽:1Mbps价格:168元/1年
仅限新用户
链接:点我直达
CPU:2核
内存:4GB
硬盘:50GB
带宽:5Mbps
机房:广州/北京/上海
价格:3027.78元/3年
链接:点我直达
CPU:4核
内存:8GB
硬盘:50GB
带宽:5Mbps
机房:广州/北京/上海
价格:4432.5/3年
链接:点我直达
MySQL基础版
内存:1GB
硬盘:50GB
类型:MySQL 5.7
价格:169.2元/1年
链接:点我直达
MySQL高可用版-旗舰
内存:4GB
硬盘:200GB
类型:MySQL 5.7
价格:1987.2元/1年
链接:点我直达
MySQL高可用版
内存:4GB
硬盘:200GB高性能盘
价格:1987.2元/1年
链接:点我直达

三、成本和效果的平衡点

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

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

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

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

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

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

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

赞(0) 打赏
允许转载,保留出处:魏艾斯博客 » 网站数据增多 访问量增大后 扩容增配还是动静分离?
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏