终于破了11选5出号规律:Web应用的性能优化思路——找到瓶颈

吉林省十一选五走势图 www.el2sw.cn 2/10/2017来源:心得技巧人气:6075

瓶颈是什么?

一条4车道的公路,运行非常顺畅,突然出了点事故,事故车导致某个地方只剩下1车道,然后就开始堵车,因为四辆车同时塞向一个车道里。把这个事故清除了,故障车拖走了,道路会开始恢复了通畅。

这个道理谁都懂,但偏偏有些傻瓜交警去把4车道变成8车道,但却不清理事故路段。

一个Web应用,不管是何种语言开发,粗略的结构无非是三层:

1. 页面模板

可以是jsp、asp、php等页面技术,根据数据生成最终的HTML页面,性能关键指标只有一个,页面的渲染速度。综合各种页面技术而言,渲染速度相差不会太大,10倍以内。

2. 业务逻辑

用于根据业务需要将数据库中的数据读取到内存中,以便通过页面模板渲染成HTML页面。这里面可能还包括缓存、连接池等技术。

3. 数据库

就是数据库,负责执行SQL查询并返回查询结果。

我们假设用户访问一个页面,也就是请求一个URL地址,然后得到内容,所需要的时间是3秒钟。其中大部分时间可能用在网络传输上,而真正页面执行并生成HTML内容所需的时间是很小的,这里假设需要100毫秒。

相当于用户花了两秒多钟在传输数据上,这部分时间如果能缩减,可以大大提升访问的速度,但是这部分一般也难以提升了,因为取决于用户本身的网络情况,服务器的网络情况以及中间整个路由的情况。对于一个网站来说,能做的就是尽可能的提升服务器的带宽,或者使用CDN来减少中间路由环节,很不幸的是,这个成本很高。

好吧,前面提到的更多是非技术因素,假设你已经耗费巨资解决了这个问题,然后突然发现网络太快了,可是服务器顶不住了,生成一个页面居然要100毫秒,才几十个并发用户就差点要把服务器搞崩溃了。

于是来到了本文的重点部分——找出应用的性能瓶颈。

前面我们提到的结构中的三层:页面模板,业务逻辑和数据库,根据经验值,在这100毫秒中,三个部分占用的时间差不多为:页面模板(5%)、业务逻辑+数据库(95%)。

几个准则:

1. 没必要去优化页面模板,这都是一些很成熟的技术,就算你好不容易提升了10%的性能,这10%在整个页面的执行过程中只占了0.5%的比例,微乎其微,等于是前面例子中的4车道变8车道的傻瓜,我们不要去充当傻瓜。

2. 一般瓶颈所在以及相应处理办法

数据库连接:使用连接池来减少连接次数重复的数据库查询:使用缓存来避免重复的数据库查询慢查询:使用索引来提升查询速度,使用连接查询替换子查询等

简简单单的三条,里面却包含了很深的功夫,特别是在数据库查询优化上。

你必须在充分解决了这些应用程序所属的性能瓶颈之后,再去考虑系统级别的优化。

一些常用系统级别优化包括:

1. 静态文件和动态页面分开处理 2. 应用服务器的集群 3. 数据库的集群

不要本末倒置,一个性能很差的应用程序,你就算集群了100个节点,也不会有什么效果。

所以Web网站优化三部曲:应用程序优化、



  • “游、购、娱”持续升温 中国经济内生动力表现强劲 2019-04-19
  • 我老张工经历过中国计划经济时代,实践过计划经济,岂能不知计划经济?!现在的市场经济,我也有了实践感受。比较之,深感计划经济是适合社会主义的,而市场经济是不适合社 2019-04-19
  • [酷]此文已经把马克思理论、边际理论、人类需求层次理论、生物学理论、心理学理论、社会管理学理论等理论在哲学层面完美融合了! 2019-04-18
  • 特朗谱跟你一样,也经常懵逼:“这么简单的道理也想不通?”;"西方民主这么好,你咋不学捏?? 2019-04-18
  • 大学毕业生是不是越来越过剩?当然大学毕业生可以在多种行业就业,比如农村、服务业等等。不过,过剩还是一种极大的浪费。 2019-04-17
  • 要战胜对手需要学习对手的长处,弥补自己的短处,但这不是关键,关键是发扬自己的长处。这叫你打你的,我打我的。 2019-04-16
  • [大笑]精神心理科医生在等你…… 2019-04-16
  • 燃!来南京,看中国电科如何燃爆第八届世界雷达展 2019-04-15
  • VAR技术再抢镜 瑞典队1-0点杀韩国 2019-04-15
  • 中国共产党各时期的入党誓词 2019-04-14
  • 浙江:三批次壁纸抽检不合格 选购注意“看摸擦闻” 2019-04-13
  • 世界杯—凯恩补时绝杀独中两元 英格兰2 2019-04-12
  • 全国首例!团队联合成功攻关,这项新技术让食管癌手术更精准 2019-04-12
  • 线下提前一刻钟!电影节加映场开票出福利 2019-04-11
  • 蔬菜大县敲开“阿里巴巴” 2019-04-10
  • 361| 136| 408| 774| 630| 231| 658| 51| 620| 884|