在线业务一站式性能优化

更新时间: 2024-03-08 10:50:00

手动部署

50

https://www.aliyun.com/solution/tech-solution/obospo

方案概览

在线业务类网站(例如:电商网站、互联网金融、社交网站等)通常都同时存在动态数据(例如:商品订单、社交互动等)和静态数据(例如:商品图片、社交图片等),要满足在线业务类网站的流畅访问体验,需要能够同时保障动态数据和静态数据的高性能访问。

本技术解决方案使用DCDN产品对部署在ECS上的网站分别针对动态资源和静态资源进行访问加速,提升网站的综合访问体验。业务价值和优势如下:

  • 动静态混合加速

    传统CDN仅支持加速静态资源,DCDN可以在实现静态资源加速的基础上,进一步实现动态资源加速。

  • 多协议加速

    适配ECS上的多元业务场景,支持HTTP、HTTPS和Websocket七层加速,TCP和UDP四层加速。

  • 降低源站成本

    降低用户在ECS上的使用成本,可将源站的带宽、算力和连接数转移至DCDN的边缘节点,获得更优的成本收益。

  • 业务高可用性

    基于DCDN全球3200+节点,结合智能调度和动态选路技术,在面临部分节点故障或者网络拥塞的情况下,也能够快速恢复网络链路,从而满足业务高可用需求。

  • 卸载源站计算压力

    可在更靠近用户的边缘节点上自行编写用户的业务程序,例如网站页面实时渲染等,从而降低源站的计算负载,并且加快页面实时渲染的响应速度。

方案架构

方案以一个电商网站为例,默认设置完成部署后在阿里云上搭建的网站运行环境如下图所示。实际部署时您可以根据资源规划修改部分设置,但最终形成的运行环境与下图相似。

image

本方案的技术架构包括以下基础设施和云服务:

  • 1台云服务器ECS:用于部署电商网站服务。

  • 全站加速DCDN:用于加速访问电商网站的动态数据和静态数据。

部署准备

10

开始部署前,请按以下指引完成账号申请、账号充值、RAM用户创建和授权。

  1. 账号注册:如果您还没有阿里云账号,请访问阿里云账号注册页面,根据页面提示完成注册并完成个人实名认证。阿里云账号是您使用云资源的付费实体,因此是部署方案的必要前提。

  2. 为阿里云账号充值:为节省成本,本方案默认选择使用按量付费,使用按量付费资源需要确保账户余额不小于100元。完成本方案的部署及体验,预计费用约为10元(假设您配置DCDN产品和ECS产品时均选择采用按量付费方式,且方案验证过程中产生的流量在10GB以内。实际情况可能会因您操作过程中使用的流量大小差异,导致费用有所变化,请以控制台显示的实际报价以及最终账单为准)。

  3. 域名备案(非必选):您需要拥有至少一个域名,如果域名的DCDN加速区域选择是全球或者仅中国内地,那么域名需要已经备案,如果未备案,可登录阿里云ICP代备案管理系统完成备案;如果域名选择的DCDN加速区域为全球(不包含中国内地),那么就不需要完成域名备案。

  4. 权限配置:阿里云账号拥有操作资源的最高权限,从云资源安全角度考虑,建议您创建RAM用户并获得相关云服务的访问权限完成方案部署,详情如下:

    云服务

    需要的权限

    描述

    全站加速 DCDN

    AliyunDCDNFullAccess

    管理全站加速DCDN的权限

    云服务器 ECS

    AliyunECSFullAccess

    管理云服务器ECS的权限

    创建RAM用户并进行授权的操作指引请参见创建RAM用户为RAM用户授权

规划网络和资源

10

网络规划

请参考表格中的说明和方案默认示例值为每个规划项做详细规划并在实际部署时将默认示例值修改为您的实际规划。

规划项

数量

说明

地域

1

您的ECS云服务器所在的地域。选择地域的基本原则请参见地域和可用区

安全组

1

用于限制云服务器ECS的网络流入和流出规则。

DCDN

1

将源站的业务域名接入DCDN, DCDN加速域名即是您最终暴露给终端用户访问的域名。

云资源规划

请参考表格中的说明和方案默认示例值为每个规划项做详细规划并在实际部署时将默认示例值修改为您的实际规划。

规划项

数量

说明

ECS

1

本方案需要1台ECS实例,用于部署电商网站服务。

部署资源

20

规划好资源后,请按照以下步骤部署方案中的所有资源。

步骤一:创建云服务器ECS

创建一台云服务器ECS,用于部署电商网站的业务系统。

  1. 登录ECS管理控制台

  2. 在顶部菜单栏,选择华东1(杭州地域。

  3. 在左侧导航栏,选择实例与镜像>实例

  4. 实例页面,单击创建实例

  5. 在云服务器ECS购买页面,选择按量付费,创建1台云服务器ECS。

    项目

    说明

    示例值

    付费类型

    ECS实例的计费方式。

    ECS计费的详细信息请参见ECS计费方式概述

    按量付费

    网络及可用区

    可以从专有网络的下拉菜单里面选择之前已经创建的专有网络和交换机,如果尚未创建,则需要新建。

    专有网络

    实例规格

    ECS的实例规格及内核、vCPU数量。关于ECS选型的最佳实践,请参见选型最佳实践

    ecs.t5-lc2m1.nano

    镜像

    ECS的“装机盘”,为ECS实例提供操作系统、预装软件等。

    CentOS

    镜像版本

    镜像的版本。

    CentOS 7.6 64位

    系统盘类型

    硬盘类型。

    高效云盘

    系统盘容量

    硬盘容量。

    20 GiB

    公网IP

    用于在云服务器ECS上从公网拉取Docker镜像和配置网站服务。

    分配公网 IPv4 地址

    带宽计费方式

    由于本方案只需在云服务器ECS上配置简易的网站服务用于验证,因此选择按使用流量,以节省流量成本。

    按使用流量

    带宽值

    本方案以5 Mbps为例。

    5 Mbps

    安全组

    如果已有安全组则选择已有安全组,如果尚未有安全组,则需要新建安全组。

    SecurityGroup_1

步骤二:添加DCDN加速域名

需要添加DCDN加速域名,从而实现用户加速访问电商网站资源。

  1. 配置DCDN加速服务。

    1. 域名管理页面,单击添加域名

    2. 添加域名页面,配置加速域名。

      项目

      说明

      示例值

      加速域名

      接入DCDN,用于加速源站的业务域名,也是您最终暴露给终端用户访问的域名。

      example.com

      业务类型

      全站加速同时支持对动态资源和静态资源进行加速。

      全站加速

      加速区域

      本方案以加速中国内地为例。

      仅中国内地

      源站信息

      选择 ECS 的公网IP作为源站。

      ECS公网IP:192.168.0.1

      优先级

      优先级为主源站>备源站,主源站出现故障的情况下,将会回源到备源站。

      权重

      权重允许范围为1~100,DCDN按照源站的权重分配用户回源到不同源站的比例。

      100

      端口

      HTTP端口。

      80

    3. 单击下一步,然后单击返回域名列表

    4. 在域名列表中,记录加速域名的CNAME值。

      image.png

步骤三:为DCDN加速域名添加DNS解析记录

为DCDN加速域名添加DNS解析记录,以便用户请求能够访问到DCDN节点。

  1. 添加DCDN加速域名的CNAME记录(以阿里云的云解析DNS产品为例)。

    1. 登录云解析DNS控制台

    2. 单击域名解析,然后在域名解析列表中,单击目标域名右侧的解析设置

    3. 单击添加记录,填写域名解析信息。

      项目

      说明

      记录类型

      选择域名指向的类型。 此处选择CNAME

      主机记录

      根据域名前缀填写主机记录。本方案以顶级域名为例,例如example.com,输入@

      解析线路

      解析域名时使用的线路。 选择默认,系统将自动选择最佳线路。

      记录值

      填写步骤1中记录的CNAME值。

      TTL

      域名的更新周期,保留默认值。

    4. 单击确定

    image.png

步骤四:配置动静态加速规则

为DCDN加速域名配置动静态加速规则后,动态资源将采用最佳路由加速回源,而静态资源则会通过边缘缓存进行加速。

DCDN控制台的域名管理界面中,单击目标域名对应的配置,在左侧导航栏单击动静态加速规则,在静态文件类型中选择图片类型(如.jpg.jpeg.png)使用边缘缓存,并设置缓存过期时间(文件后缀是jpg、jpeg、png)为1年,网站页面类型文件(文件后缀是html)不设置缓存过期时间(即只进行动态加速)。

image.png

验证及清理

10

方案验证

  1. 部署Web服务:在ECS服务器上的CentOS系统中使用以下Linux命令部署Apache web服务:

    yum -y install httpd  --安装apache软件
    systemctl start httpd.service  --启动apache网站
  2. 使用wget命令在Apache web服务的默认页面目录 /var/www/html 中下载一个图片文件(作为静态资源)和一个html文件(作为动态资源)。

  3. 验证静态资源缓存策略生效:通过浏览器访问加速域名关联的Apache网站图片资源(例如:http://example.com/test.jpg),查看图片文件的响应信息,可以看到请求已经访问到了DCDN节点,并且缓存时间为1年。

    image.png

  4. 验证动态资源缓存策略生效:通过浏览器访问加速域名关联的Apache网站html资源(例如:http://example.com/index.html),查看文件的响应信息,可以看到请求访问到了DCDN节点,并且缓存时间为0。

    image.png

  5. 验证静态资源加速效果:使用阿里云应用实时监控服务ARMS来检测,检测点设置为海外主要国家和地区(美国、日本、法国、英国、德国、泰国、越南、中国香港、新加坡、印度尼西亚),测试文件大小为542.169KB,第一张截图是优化之前(直接访问源站)的数据,第二张截图是DCDN加速以后的数据,可以看到DCDN加速以后,数据传输速度更快、时长更短。

    image.png

    image.png

  6. 验证动态资源加速效果:使用阿里云应用实时监控服务ARMS来检测,检测点设置为海外主要国家和地区(美国、日本、法国、英国、德国、泰国、越南、中国香港、新加坡、印度尼西亚),因为index.html文件非常小(6byte),因此主要看整体性能(即数据传输时长),第一张截图是优化之前(直接访问源站)的数据,第二张截图是DCDN加速以后的数据,可以看到DCDN加速以后,数据传输时长降低了。

    image.png

    image.png

清理资源

在本方案中,您创建了1台云服务器ECS实例以及1个DCDN加速域名。测试完方案后,您可以参考以下规则处理对应的云资源,避免继续产生费用:

  1. 释放云服务器ECS实例:

    登录ECS控制台,在实例页面,找到目标实例,然后在操作列选择216更多-竖向..png>释放设置,根据界面提示释放实例。

  2. 释放DCDN加速域名。

    登录DCDN控制台,在域名管理页面,找到目标域名,然后在操作列中选择216更多-竖向..png>删除

一键部署

30

https://www.aliyun.com/solution/tech-solution/obospo

方案概览

在线业务类网站(例如:电商网站、互联网金融、社交网站等)通常都同时存在动态数据(例如:商品订单、社交互动等)和静态数据(例如:商品图片、社交图片等),要满足在线业务类网站的流畅访问体验,需要能够同时保障动态数据和静态数据的高性能访问。

本技术解决方案使用DCDN产品对部署在ECS上的网站分别针对动态资源和静态资源进行访问加速,提升网站的综合访问体验。业务价值和优势如下:

  • 动静态混合加速

    传统CDN仅支持加速静态资源,DCDN可以在实现静态资源加速的基础上,进一步实现动态资源加速。

  • 多协议加速

    适配ECS上的多元业务场景,支持HTTP、HTTPS和Websocket七层加速,TCP和UDP四层加速。

  • 降低源站成本

    降低用户在ECS上的使用成本,可将源站的带宽、算力和连接数转移至DCDN的边缘节点,获得更优的成本收益。

  • 业务高可用性

    基于DCDN全球3200+节点,结合智能调度和动态选路技术,在面临部分节点故障或者网络用塞的情况下,也能够快速恢复网络链路,从而满足业务高可用需求。

  • 卸载源站计算压力

    可在更靠近用户的边缘节点上自行编写用户的业务程序,例如网站页面实时渲染等,从而降低源站的计算负载,并且加快页面实时渲染的响应速度。

方案架构

方案以一个电商网站为例,默认设置完成部署后在阿里云上搭建的网站运行环境如下图所示。实际部署时您可以根据资源规划修改部分设置,但最终形成的运行环境与下图相似。

image

本方案的技术架构包括以下基础设施和云服务:

  • 1台云服务器ECS:用于部署电商网站服务。

  • 全站加速DCDN:用于加速访问电商网站的动态数据和静态数据。

部署准备

10

开始部署前,请按以下指引完成账号申请、账号充值、RAM用户创建和授权。

  1. 账号注册:如果您还没有阿里云账号,请访问阿里云账号注册页面,根据页面提示完成注册并完成个人实名认证。阿里云账号是您使用云资源的付费实体,因此是部署方案的必要前提。

  2. 为阿里云账号充值:为节省成本,本方案默认选择使用按量付费,使用按量付费资源需要确保账户余额不小于100元。完成本方案的部署及体验,预计费用约为10元(假设您配置DCDN产品和ECS产品时均选择采用按量付费方式,且方案验证过程中产生的流量在10GB以内。实际情况可能会因您操作过程中使用的流量大小差异,导致费用有所变化,请以控制台显示的实际报价以及最终账单为准)。

  3. 域名备案(非必选):您需要拥有至少一个域名,如果域名的DCDN加速区域选择是全球或者仅中国内地,那么域名需要已经备案,如果未备案,可登录阿里云ICP代备案管理系统完成备案;如果域名选择的DCDN加速区域为全球(不包含中国内地),那么就不需要完成域名备案。

  4. 权限配置:阿里云账号拥有操作资源的最高权限,从云资源安全角度考虑,建议您创建RAM用户。RAM用户需要获得相关云服务的访问权限才能完成方案部署,详情如下:

    云服务

    需要的权限

    描述

    全站加速 DCDN

    AliyunDCDNFullAccess

    管理全站加速DCDN的权限

    云服务器 ECS

    AliyunECSFullAccess

    管理云服务器ECS的权限

    资源编排 ROS

    AliyunROSFullAccess

    管理资源编排ROS的权限

    创建RAM用户并进行授权的操作指引请参见创建RAM用户为RAM用户授权

一键部署

10

ROS一键部署

资源编排(ROS)可以让您通过YAML或JSON文件清晰简洁地描述所需的云资源及其依赖关系,然后自动化地创建和配置这些资源。您可以通过下方提供的 ROS 一键部署链接,来自动化地完成这些资源的创建和配置:

  • 创建1台云服务器ECS。

  • 创建1个DCDN加速域名,并设置前面创建的ECS服务器为后端服务器。

  1. 打开一键配置模板链接前往ROS控制台,系统自动打开使用新资源创建资源栈的面板,并在模板内容区域展示YAML文件的详细信息。

    说明
    • ROS控制台默认处于您上一次访问控制台时的地域,请根据您创建的资源所在地域修改地域后再执行下一步。

    • 这里的ROS一键部署模板中,不包含配置DCDN加速域名的CNAME解析记录,请参考手动部署的部署步骤配置DCDN加速域名的CNAME解析记录。

  2. 确认好地域后,保持页面所有选项不变,单击下一步进入配置模板参数页面。

  3. 配置模板参数页面修改资源栈名称,配置加速域名、加速区域、ECS可用区、实例类型、系统盘类型、实例密码等。填写完所有必选信息并确认后单击创建开始一键配置。

  4. 资源栈信息页面的状态显示为创建成功时表示一键配置完成。

验证及清理

10

方案验证

  1. 配置动静态加速规则:在DCDN控制台域名管理界面中,单击目标域名对应的配置,在左侧导航栏单击动静态加速规则,在静态文件类型中选择图片类型(如.jpg、.jpeg、.png)使用边缘缓存,并设置缓存过期时间(文件后缀是jpg、jpeg、png)为1年,网站页面类型文件(文件后缀是html)不设置缓存过期时间(即只进行动态加速)。为DCDN加速域名配置动静态加速规则后,动态资源将采用最佳路由加速回源,指定文件类型的静态资源则会通过边缘缓存进行加速。image.png

  2. 部署Web服务:在ECS服务器上的CentOS系统中使用以下Linux命令部署Apache Web服务:

    yum -y install httpd  --安装apache软件
    systemctl start httpd.service  --启动apache网站
  3. 使用wget命令在Apache web服务的默认页面目录 /var/www/html 中下载一个图片文件(作为静态资源)和一个html文件(作为动态资源)。

  4. 验证静态资源缓存策略生效:通过浏览器访问加速域名关联的Apache网站图片资源(例如:http://example.com/test.jpg),查看图片文件的响应信息,可以看到请求访问到了DCDN节点,并且缓存时间为1年。

    image.png

  5. 验证动态资源缓存策略生效:通过浏览器访问加速域名关联的Apache网站html资源(例如:http://example.com/index.html),查看文件的响应信息,可以看到请求访问到了DCDN节点,并且缓存时间为0。

    image.png

  6. 验证静态资源加速效果:使用阿里云应用实时监控服务ARMS来检测,检测点设置为海外主要国家和地区(美国、日本、法国、英国、德国、泰国、越南、中国香港、新加坡、印度尼西亚),测试文件大小为542.169KB,第一张截图是优化之前(直接访问源站)的数据,第二张截图是DCDN加速以后的数据,可以看到DCDN加速以后,数据传输速度更快、时长更短。

    image.png

    image.png

  7. 验证动态资源加速效果:使用阿里云应用实时监控服务ARMS来检测,检测点设置为海外主要国家和地区(美国、日本、法国、英国、德国、泰国、越南、中国香港、新加坡、印度尼西亚),因为index.html文件非常小(6byte),因此主要看整体性能(即数据传输时长),第一张截图是优化之前(直接访问源站)的数据,第二张截图是DCDN加速以后的数据,可以看到DCDN加速以后,数据传输时长降低了。

    image.png

    image.png

清理资源

在本方案中,您创建了1台云服务器ECS实例以及1个DCDN加速域名。测试完方案后,您可以在ROS控制台直接删除资源栈并删除相关资源;也可以参考以下方式处理对应的云资源,避免继续产生费用:

  1. 释放云服务器ECS实例:

    登录ECS控制台,在实例页面,找到目标实例,然后在操作列选择216更多-竖向..png>释放设置,根据界面提示释放实例。

  2. 释放DCDN加速域名。

    登录DCDN控制台,在域名管理页面,找到目标域名,然后在操作列中选择216更多-竖向..png>删除