高并发下的网站架构_第1页
高并发下的网站架构_第2页
高并发下的网站架构_第3页
高并发下的网站架构_第4页
高并发下的网站架构_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高并发下的网站架构

阿里巴巴中国站性能调优实践

何崚(阿里巴巴中国站架构师)旺旺ID:maxheling E-mail:【内部讲座资料,请勿外传】中国站性能现状中国站网站的正常流量情况并发〔单台〕,顶峰期<10吞吐量〔TPS,单台〕顶峰期,<60CPU负载Load顶峰期,<2,大局部效劳器<1CPU使用率,一般只占1颗核,平均60%左右效劳器平均响应时间顶峰期,<150ms图片总流量带宽1.8G〔各网站总合〕高并发下的风险网络带宽耗尽效劳器Load飙高,停止响应数据库瘫痪高并发下的事故事故:网站运营旺旺推广页面弹出,1兆大图片导致带宽耗尽增加审核机制:运营推广增加的图片流量不能超过现有流量的30%合作媒体推广:迅雷,暴风影音浮出广告,导致旺铺集群Crash秒杀1688开业88小时不间断秒杀活动高并发对网站性能的影响并发数对吞吐量的影响并发数对效劳器平均请求响应时间的影响并发数对用户平均请求等待时间的影响高并发实例:1688开业秒杀活动商业需求为庆祝1688开业退出88小时不间断秒杀活动每小时整点推出8款商品,拖拉机,牛,马桶,沙发……每款商品供168件,每人限批3件,成交人数56人CCTV黄金广告时间,各种网络,平面媒体轰炸,总广告费:1.5亿接到运营通知,距秒杀开始仅仅5天时间技术挑战瞬间高并发8000并发:预估秒杀在线人数可达8000人风险:带宽耗尽效劳器:崩溃,可以理解成自己给自己准备的攻击秒杀器第一种:秒杀前不断刷新秒杀页面,直到秒杀开始,抢着下单第二种:跳过秒杀页面,直接进入下单页面,下单1688秒杀系统:效劳器和网络准备效劳器准备〔距秒杀开始仅五天时间来不及采购〕style效劳器〔Ligd集群〕:5台图片效劳器〔Nginx集群〕:5台静态效劳器〔Apache集群〕:10台交易效劳器〔JBoss动态集群〕:10台带宽准备图片出口带宽上限:2.5G〔出口带宽支持10G,但图片效劳器集群的处理能力:图片效劳集群最大并发处理能力X网站平均图片大小=2.5G〕CDN准备:Chinacache沟通;借用TaobaoCDN1688秒杀系统:架构目标1.图片网络带宽:1.0G 新增图片带宽:必须控制在1.0G左右 每件商品秒杀页面的图片总大小不得超过:1000000/(1000*8)=125K/每商品2.网站并发: 单件商品并发:1000【来自运营的预估】 总并发:8〔件商品〕X1000〔人/商品〕=8000

1688秒杀系统:组成简单系统:

三个页面组成:秒杀商品列表,秒杀商品介绍,下单【1688静态集群】【中国站交易动态集群china.alibaba】下单成功后,进入支付宝系统,走支付流程1688秒杀系统:设计原那么静态化采用JS自动更新技术将动态页面转化为静态页面并发控制,防秒杀器设置阀门,只放最前面的一局部人进入秒杀系统简化流程砍掉不重要的分支流程,如下单页面的所有数据库查询以下单成功作为秒杀成功标志。支付流程只要在1天内完成即可。前端优化采用YSLOW原那么提升页面响应速度

1688秒杀系统:静态化(1)秒杀商品list和Detail是静态Html页面1688秒杀系统:静态化(2)秒杀商品列表/秒杀商品介绍页面,如何判断秒杀开始否答案:

valid-offer.js三道阀门的设计阀门:基于TT的计数器序号阀门上限1限制进入秒杀页面,10002限制进入下单页面,1003限制进入支付宝系统,56秒杀器的预防秒杀Detail页面URL:随机秒杀前2秒放出,脚本生成,秒杀前1000次访问上限控制【每件商品只能放入1000人浏览】下单页面:订单ID,随机不能直接跳过秒杀Detail页面进入每个秒杀商品,带预先生成的随机Token作URL参数如果秒杀过,直接跳到秒杀结束页面100次访问上限控制【每件商品只能放入1000人下单】WebServer调优–Apache调优KeepAlive相关参数调优其他参数调优HostnameLookups设为off,对allowfromdomain等后的域名不进行正向和反向的dns解析关闭cookies-log日志翻开Linuxsendfile()关闭无用的modulemod_Gzip(秒杀页面,非图片html文本所占流量比重可忽略不计,zip意义不大),mod_Beacon,mod_hummock〔等待反响过来,秒杀已经over了〕WebServer调优–JBoss调优Mod-jkworker调优JBossAJPConnectorTomcatAPR设定秒杀静态页面优化图片合并8张图片合并成1张,css偏移展示减少HTTP请求数,减少请求等待数减少发送cookies的量HTML内容压缩图片压缩:图片Bytes<长X宽/2250HTMLHeaderCache-Control设置CSS,JS精简CSS,JS精简到极致,局部直接写在页面中,减少Http请求次数下单页面优化数据库操作:全部砍掉原下单页面要访问8次数据库,全部砍掉秒杀流程精简砍掉填写或选择收货地址,放在秒杀成功后填写砍掉调用是否开通支付宝接口,秒杀首页文案提示必须开通采用内存缓存秒杀Offer数据,支付宝相关信息,缓存交易系统性能优化交易系统调优目标:关闭KeepAlive〔分析交易系统accesslog,用户在短时间内连续点击概率很低〕JVM优化 优化CMS垃圾回收器的参数消灭Top10BottlenecksVelocity参数调优采用DBCP1.4替换C3P0Offer产品参数的XML解析并发TPS下单页面(优化前)20100下单页面(优化后)40400二跳页面的优化1688其他页面前端优化:Yslow规那么调优减少请求,合并JS,CSS,图片,充分利用浏览器缓存图片压缩,公式:防止发送cookies交易系统优化普通订单管理列表和1688秒批订单管理列表别离禁止用模糊查询功能应急预案域名别离,独立域名,不影响中国站原有业务Style集群:图片效劳器集群:静态页面集群:出问题直接把1688相关域名卡掉,所有请求跳到万能出错页面机动效劳器10台,备用拆东墙补西墙战略5天时间来不及采购效劳器,因此SA待命,随时准备将非核心应用集群的冗余效劳器下线,参加到秒杀集群壁虎断尾策略所有方法均失效的情况下,例如流量耗尽非核心应用集群统统停止效劳,如资讯,论坛,博客等社区系统保住首页,OfferDetail,旺铺页面等核心应用的可用性万能出错页面:秒杀活动已经结束任何出错都302跳转到此页面位于另外集群万幸:最终所有的预案都没有用上秒杀活动结果88小时秒杀,坚守阵地,大获成功秒杀还是被秒杀?终于有了答案三道阀门设计非常有效,拦住了秒杀器1688静态集群总并发情况〔首页,秒杀列表,秒杀商品页面〕交易系统集群总并发情况〔下单页面〕改进一:采用更轻量/快速的效劳器〔1〕采用Ligd替代Apache杀手锏〔AIO〕改进一:采用更轻量/快速的效劳器〔1〕小页面性能〔100K〕大页面性能〔10M〕改进一:采用更轻量/快速的效劳器〔1〕性能关键:WebServer的高性能I/OLigd1.5Apache2.2支持Apache1.3注意:sendfile〔〕和AIO的操作系统相关性:依赖高版本Linux操作系统改进一:采用更轻量/快速的效劳器〔2〕中国站应用效劳器升级工程,采用Jetty7.1.5替代中国站应用效劳器升级工程:Apache2.2+Mod-Proxy+Jetty7.1.5与中国站现有架构性能比照性能大幅提升,中国站全站下线1/3应用效劳器约一百台,明年不用采购新机器

架构更轻量,配置更简单应用更无状态化,开发和维护的福音更加平安改进二:前端优化自动化中国站效劳器响应时间<150ms,但OfferDetail页面用户等待时间5s,大局部时间耗在路上〔资源请求和网络传输)图片自动压缩〔CMS自动压缩〕Cookies效劳化〔控制cookies的大小〕中国站前端延迟加载框架SmartLoad〔只加载首屏数据〕Googlemod_pagespeedmodule自动压缩图片,静态资源,智能浏览器缓存技术GoogleDiffable〔增量下载静态资源技术〕改进三:架设镜像站组建山寨CDN中国站青岛镜像站工程改进四:采用反向代理加速核心页面在Offer集群前部署Squid反向代理集群OfferDetail的Squid

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论