Java基础、中级、高级、架构面试资料

学会从业务角度对大型网站进行性能优化

业余杂谈 herman 3844浏览 0评论
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog2,发送下载链接帮助你免费下载!
本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog2,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领
腾讯云】1核2G5M轻量应用服务器50元首年,高性价比,助您轻松上云

一说到性能优化,很多人就会夸夸其谈。例如淘宝进行过多少压测,多少改造,使用了什么技术,采用了什么设备等很少有人从业务的角度去缓解我们网站面临的性能问题。那么本文将带领大家从非技术的角度对网站性能优化进行阐述。

性能优化的方向

我总结了下,性能优化的方向大致分为3类:技术方面,业务方面,硬件方面。

技术方面:就是使用技术手段对系统进行改造,升级等使网站能支持更高的访问量,并发量等。

业务方面:这一方面被大部分人所抛弃,也是我今天所讲的重点。就是从产品的设计,交互,用户体验方面着手进行优化,从而间接的提供系统的响应能力。

硬件方面:这一方面,通常都是不被推荐的,因为硬件的成本太过高昂。一般在产品竞争激烈时,采用硬件升级,达到比竞争对手更早的推出新功能,更好的体验和更优的并发访问量。

产品层面优化对系统性能提升的重要性

一说到系统优化,多数人都认为这是技术人员才干的事,与其他部门无关。这其实是一个非常错误的观念,有些需求和现象以及市场发展,只有市场部,运营部,营销部等一线员工才懂。

对于这些,从业务方面(产品层面)对网站进行优化的手段,我将从3个例子中进行阐述。

提前60天购票对12306的影响

我们都知道,以前购买火车票可能只有7天的提前日期。但是从2014年12月1日起,12306宣布,互联网、电话订票预售期由20天延长至30天。而12月2-6日,预售期每天比上一日延长6天,虽然这个听起来有点绕口,但你只要记住从12月6日起,预售期延长至60天即可。那么12306为什么会延迟提前购票时间呢?

原因是:购票预售期延迟,对12306网站的压力减少了50%以上。你可能没有什么感觉,但是对12306来说,他们的网站从此之后再也没有因为大流量宕过机。

像12306这样的网站,很多技术人员也在网上发票过很多文章,对如何设计系统进行大谈奇谈,没有从根本上了解12306业务的特殊性和复杂程度。可以想象连淘宝的技术工程师也没有想到更优的方案,更何况大部分只会吹牛的呢。提前预售期的行为与技术方面无任何关系,但是在实际中的确减少了12306宕机的风险。

预约对秒杀系统的重要性

买过小米的人大概都知道,抢购前需要预约。如果没有进行提前预约,那么是无法参与抢购的。为什么现在抢购都普遍的存在预约行为呢?

预约并不是什么关键技术,也不是什么业务必须品,但是它的重要程度超乎大家的想象。我们大概来计算一下,看看预约对秒杀系统的重要性。首先假设小米的总用户数为2个亿(实际多少对本文没有意义),对小米手机有购买需求的有1000万用户(实际上同一时间段可能更少)。小米基本上是每周一批,就按每批有500万人进行预约,这些预约的人就算抢到了也可能是帮朋友抢的,也就是可能存在几个用户帮一个人抢的情况。同时加上每周二早上10点准时在线的人,可能实际上400万人不到。讲到这里,你已经看到预约已经把大部分人给过滤掉了。如果没有预约,部分手痒的人,我就参与秒杀,但最终就是不买单。

预约对秒杀的意义不仅提高了系统的稳定性,还提高了支付率,即真实参与购买的用户支付的概率很高,而不会丢单。预约只是从业务层面的一个设计,缺产生了重要作用。

凉菜效应

最后一个我就举一个生活中的例子,没想到好的标题,暂且用这个吧。

假设一个酒店有10个大厨,同时可以坐30张餐桌子。晚上的业务高峰期,同时来了20桌客人。每桌需要点15个热菜(实际可能不止),那么10个大厨总共需要炒300个热菜,假设每2分钟炒一个菜,需要多久才能满足?你们自己算算吧,我就不算了。

我想客人等的着急,用户体验不到位,大部分客人可能都会换地方了。如果我们在菜单上增加一些凉菜,同时在客人点菜时进行推荐,那么响应的时间又会缩短不少。夏天凉菜,冬天火锅。

每一个会动脑的人,我想更接近成功,你认为呢?

版权声明:本文为博主原创文章,未经博主允许不得转载。

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加作者微信号:xttblog2。备注:“1”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!

本文原文出处:业余草: » 学会从业务角度对大型网站进行性能优化