BpFile(id=319, bpId=195, name=云上高并发Web架构, author=null, keyword=高并发,Web,应用监控,应用防护,性能测试,流量控制,弹性,内容加速,PTS,ARMS, description=云上高并发Web架构和云产品选择,阐述资源弹性、应用监测、性能评估、流量防护、故障演练等的部署与应用。, position=null, ossUrl=bp-OH5UX944PO8RXYQT.pdf, tags=null, level=null, tagList=null, products=null, productList=null, hotspot=null, oneClick=1, createTime=null, modifiedTime=null, timeConsuming=null, status=1, pdfDescription=
在互联网行业业务发展中,Web应用具有间歇性高并发 的特点,常见于电商,社交,文娱等行业之中。可以通过负载均衡,动态、静态内容分离加速,应用服务器集群、 数据库弹性伸缩以及采用高效缓存等机制提高应用整 体性能及响应时间。另外,借助应用监控、应用高可用、 性能测试等产品,可为互联网业务在上线前及营销活动间隙提前测试和评估业务系统的承载能力,发现性能瓶颈,提前优化资源配置;更可提供流量控制、应用模块降级、故障演练等能力,从而全面提升业务稳定性。
, templateId=BBRHG5UL2DXE8078, freetry=, visitTime=null, visitCount=null, video_url=https://yqh.aliyun.com/live/detail/22350, buttonName=null, buttonUrl=null, targetId=BBRHG5UL2DXE8078, partner=null, partnerUrl=null, partnerLogo=null, cooperation=null, cooperationList=null)
1
云上高并发 Web 架构最佳实践
部署架构图 场景描述
在互联网行业业务发展中, Web应用具有间歇性高并发
的特点,常见于电商,社交,文娱等行业之中。可以通
过负载均衡,动态、静态内容分离加速,应用服务器、
数据库弹性伸缩以及采用高效缓存等机制提高应用整
体性能及响应时间。另外,借助应用监控、应用防护、
性能测试等产品,可为互联网业务在上线前及营销活动
间隙提前测试和评估业务系统的承载能力,发现性能瓶
颈,提前优化资源配置;更可提供流量控制、应用模块
降级、故障演练等能力,从而全面提升业务稳定性。
最佳实践频道 阿里云最佳实践生态群
解决问题
l Web应用高并发系统架构模型
l 云产品选型及部署
l 资源弹性、监控、压测及应用防护
产品列表
l 负载均衡 SLB l 云监控 CloudMonitor
l 内容分发 CDN l 应用实时监控 ARMS
l 专有网络 VPC l 应用高可用 AHAS
l 云服务器 ECS l 性能测试 PTS
l 弹性伸缩 Auto Scaling l 云架构设计工具
l 对象存储 OSS CADT
l 文件服务 NAS
l 云数据库 PolarDB
l 云数据库 Redis
2云服务器 ECS(产品名称) 文档模板(手册名称)/文档版本信息
阿里云
企业上云
云上高并发 Web 架构
最佳实践
文档版本:20210118
文档版本:20150122(发布日期) II
3云上高并发 Web架构最佳实践 文档版本信息
文档版本信息
文本信息
属性 内容
文档名称 云上高并发 Web架构最佳实践
文档编号 195
文档版本 V1.0
版本日期 2021-01-18
文档状态 外部发布
制作人 谈慧杰
审阅人 毕役、川知
文档变更记录
版本编号 日期 作者 审核人 说明
V1.0 2021-01-18 谈慧杰 毕役、川知 创建
文档版本:20210118 I
4云上高并发 Web架构最佳实践 前言
前言
概述
在互联网行业业务发展中,Web应用具有间歇性高并发的特点,常见于电商,社交,
文娱等行业之中。可以通过负载均衡,动态、静态内容分离加速,应用服务器、数据
库弹性伸缩以及采用高效缓存等机制提高应用整体性能及响应时间。另外,借助应用
监控、应用防护、性能测试等产品,可为互联网业务在上线前及营销活动间隙提前测
试和评估业务系统的承载能力,发现性能瓶颈,提前优化资源配置;更可提供流量控
制、应用模块降级、故障演练等能力,从而全面提升业务稳定性。
本文以部署 Wordpress应用为例,介绍云上高并发 Web架构模型以及云产品选择、
资源部署、基础监控、应用实时监控、性能测试、应用防护的最佳实践。
名词解释
l 专有网络 VPC:是用户基于阿里云创建的自定义私有网络,不同的专有网络之间
二层逻辑隔离,用户可以在自己创建的专有网络内创建和管理云产品实例,比如
ECS、负载均衡、 RDS 等。更多信息,请参见专有网络简介
https://www.aliyun.com/product/vpc
l 云服务器 ECS:是一种简单高效、处理能力可弹性伸缩的计算服务。ECS帮助您
构建更稳定、安全的应用,提升运维效率,降低 IT成本,使您更专注于核心业务
创新。更多信息,请参见云服务器 ECS简介 https://www.aliyun.com/product/ecs
l 弹性伸缩 Auto Scaling:是根据用户的业务需求和策略,经济地自动调整弹性计
算资源的管理服务,不仅适合业务量不断波动的应用程序, 同时也适合业务量稳
定的应用程序。更多信息,请参见弹性伸缩 Auto Scaling 简介
https://www.aliyun.com/product/ecs/ess
l 对象存储 OSS:是一种海量、安全、低成本、高可靠的云存储服务,适合存放任
意类型的文件。OSS的容量和处理能力弹性扩展,多种存储类型供选择,全面优
化存储成本。更多信息,请参见对象存储 OSS 简介
https://www.aliyun.com/product/oss
l 云文件存储 NAS:是一个可共享访问,弹性扩展,高可靠,高性能的分布式文件
系统。兼容 POSIX 文件接口,可支持数千台计算节点共享访问,可以挂载到弹性
计算 ECS、神龙裸金属、容器服务 ACK、弹性容器 ECI、批量计算 BCS、高性能
计算 EHPC,AI训练 PAI等计算业务上提供高性能的共享存储,用户无需修改应
文档版本:20210118 III
5云上高并发 Web架构最佳实践 前言
用程序,即可无缝迁移业务系统上云。更多信息,请参见云文件存储 NAS简介
https://www.aliyun.com/product/nas
l 云数据库 PolarDB:阿里云自研的云原生关系型数据库,拥有三个独立的引擎,分
别 100%兼容 MySQL、100%兼容 PostgreSQL、高度兼容 Oracle语法,适用于
企业多样化的数据库应用场景。PolarDB采用存储和计算分离的架构,所有计算
节点共享一份数据,提供分钟级的配置升降级、秒级的故障恢复、全局数据一致性
和免费的数据备份容灾服务。PolarDB既融合了商业数据库稳定可靠、高性能、可
扩展的特征,又具有开源云数据库简单开放、自我迭代的优势。更多信息,请参见
云数据库 PolarDB简介 https://www.aliyun.com/product/polardb
l 云数据库 Redis版:高可靠双机热备架构及可无缝扩展的集群架构,满足高读写
性能场景及容量需弹性变配的业务需求。更多信息,请参见云数据库 Redis版简
介 https://www.aliyun.com/product/kvstore
l 云监控 CloudMonitor:是一项针对阿里云资源和互联网应用进行监控的服务。云
监控服务可用于收集获取阿里云资源的监控指标,探测互联网服务可用性,以及
针对指标设置警报。更多信息,请参见云监控 CloudMonitor 简介
https://www.aliyun.com/product/jiankong
l 应用实时监控 ARMS:是一款应用性能管理产品,包含前端监控,应用监控和
Prometheus监控三大子产品,涵盖了浏览器,小程序,APP,分布式应用和容器
环境等性能管理,可实现全栈式的性能监控和端到端的全链路追踪诊断, 让应用
运维从未如此轻松高效。更多信息,请参见应用实时监控 ARMS 简介
https://www.aliyun.com/product/arms
l 应用高可用 AHAS:是专注于提高应用及业务高可用的工具平台,目前主要提供
应用架构探测感知,故障注入式高可用能力评测 和 流控降级高可用防护 三大核
心能力,通过各自的工具模块可以快速低成本的在营销活动场景、业务核心场景
全面提升业务稳定性和韧性。更多信息,请参见应用高可用 AHAS 简介
https://www.aliyun.com/product/ahas
l 性能测试 PTS:是面向所有技术背景人员的云化测试工具。有别于传统工具的繁
复,PTS以互联网化的交互,提供性能测试、API调试和监测等多种能力。自研
和适配开源的功能都可以轻松模拟任意体量的用户访问业务的场景,任务随时发
起,免去繁琐的搭建和维护成本。更紧密结合监控、流控等兄弟产品提供一站式高
可用能力,高效检验和管理业务性能。更多信息,请参见性能测试 PTS 简介
https://www.aliyun.com/product/pts
文档版本:20210118 IV
6云上高并发 Web架构最佳实践 前言
l 云架构设计工具 CADT:是一款为上云应用提供自助式云架构管理的产品,显著
地降低应用云上管理的难度和时间成本。本产品提供大量预制的应用架构模板,
同时也支持自助拖拽方式定义应用云上架构;支持大量阿里云服务的配置和管理。
用户可以方便的对云上架构方案的成本、部署、运维、回收进行全生命周期的管
理。更多信息,请参见云架构设计工具 CADT 简介
https://help.aliyun.com/product/182827.html
文档版本:20210118 V
7云上高并发 Web架构最佳实践 目录
目录
文档版本信息 .............................................................................................................................................................. I
法律声明 ..................................................................................................................................................................... II
前言 ............................................................................................................................................................................ III
目录 ............................................................................................................................................................................. 1
最佳实践概述 ............................................................................................................................................................. 3
前置条件 ..................................................................................................................................................................... 6
资源规划 ..................................................................................................................................................................... 7
1. 部署资源环境 .................................................................................................................................................... 10
2. PolarDB实例配置 .............................................................................................................................................. 12
2.1. 创建数据库用户 ................................................................................................................................ 12
2.2. 创建数据库 ........................................................................................................................................ 13
2.3. 确认数据库集群白名单配置 ............................................................................................................ 14
2.4. 获取数据库实例集群地址 ................................................................................................................ 15
2.5. PolarDB的自动扩容能力 .................................................................................................................. 15
3. Redis实例配置 .................................................................................................................................................. 16
3.1. 配置 Redis免密访问 ......................................................................................................................... 16
3.2. 获取 Redis实例连接地址 ................................................................................................................. 17
4. NAS实例配置 .................................................................................................................................................... 18
4.1. 创建权限组及权限规则 .................................................................................................................... 18
4.2. 为 NAS实例挂载点配置权限组 ....................................................................................................... 19
5. 部署 Web应用 .................................................................................................................................................. 22
5.1. 安装 Web Server ................................................................................................................................ 22
5.2. 安装 PHP ............................................................................................................................................ 24
5.3. 创建 Nginx 虚拟主机 ......................................................................................................................... 26
5.4. 安装 Wordpress应用 ........................................................................................................................ 28
5.5. 添加 Reids缓存支持 ......................................................................................................................... 33
5.6. 将应用域名解析至 SLB EIP ............................................................................................................... 35
5.7. 将图片托管至 OSS并启用 CDN支持 ............................................................................................... 37
6. 接入 ARMS ......................................................................................................................................................... 46
7. 接入 AHAS .......................................................................................................................................................... 51
8. 应用服务器集群构建 ........................................................................................................................................ 54
8.1. 应用服务器镜像制作 ........................................................................................................................ 54
8.2. 应用服务器基于镜像重置 ................................................................................................................ 55
8.3. 负载均衡配置确认 ............................................................................................................................ 57
8.4. 接入弹性伸缩服务 ............................................................................................................................ 58
8.5. 配置云监控服务 ................................................................................................................................ 71
8.6. 配置 NAT服务 ................................................................................................................................... 73
9. 使用 PTS进行压测 ............................................................................................................................................ 75
9.1. 购买资源包 ........................................................................................................................................ 75
9.2. 创建 PTS场景 .................................................................................................................................... 77
9.3. 第一轮压测 ........................................................................................................................................ 78
文档版本:20210118 1
8云上高并发 Web架构最佳实践 目录
9.4. 第二轮压测 ........................................................................................................................................ 81
9.5. 第三轮压测 ........................................................................................................................................ 85
文档版本:20210118 2