Web项目性能优化之减少HTTP请求次数优化
2017-09-28 09:03
537 查看
作为项目经理的我,在近两个月内,时常被客户抱怨,我们的Web程序性能太差,经常宕机,即使服务器的配置再好,在业务请求量大的情况下也比较容易出现系统繁忙,线程堵塞,最后Web容器的HTTP线程池被慢慢耗尽而出现宕机问题,无法对外提供服务。
于是在多方压力下,与同事连续苦战,顶着压力,发现一些严重影响Web系统性能的问题:前台频繁与后台交互数据,且交互的数据约为500KB的数据,客户端与服务端来回传输的数据接近1M。
频繁的请求服务器,会造成页面响应缓慢,数据加载缓慢的问题,若果并发量大的时候,很容易造成系统瘫痪。
对于SSH项目而言,在很多情况下,大多数的服务都是提供查询数据信息服务和信息展现服务,涉及的数据修改服务则会相对少很多。而对于查询服务而言,若能减少前台客户端和后端服务器数据交互的次数,则对整个Web系统是很大的性能提升。
1、从网络方面而言,减少数据的交互就意味着减少了网络带宽的压力,能够提供更大并发量的服务,减少网络传输的时间。
2、由于减少了请求次数,服务器的资源开销得到有效减少,后台服务器不用频繁的创建线程来处理外部的请求,由于操作系统创建和销毁线程的操作是非常消耗系统CPU等资源,因此减少请求次数也就大大减少了系统开销。
解决优化办法:
在一次查询中,首次请求后台时,后台一次性将所需要的信息全部返回,前台进行缓存,后续所有的操作均解析前台缓存数据,从中取出页面操作所需要的信息然后再进行展现,有效减少请求后台服务器的次数。相对于程序和网络延迟来说,网络传输所耗费的时间,要比解析数据要慢的多,即使返回的数据量大,也不会比网络延迟的影响更大。
具体缓存的策略,可以是一个数组对象,一个列表对象,或一个HashMap对象等,也可以是JSON数据,或XML内容。总之,只要有利于缓存的数据结构,都可以用于数据的缓存。
此种方法,对比较大的数据来说,非常有效,能有效缓解服务器的压力和网络压力,提高系统的整体性能。
来源:http://blog.csdn.net/yangkang029/article/details/50186257
于是在多方压力下,与同事连续苦战,顶着压力,发现一些严重影响Web系统性能的问题:前台频繁与后台交互数据,且交互的数据约为500KB的数据,客户端与服务端来回传输的数据接近1M。
频繁的请求服务器,会造成页面响应缓慢,数据加载缓慢的问题,若果并发量大的时候,很容易造成系统瘫痪。
对于SSH项目而言,在很多情况下,大多数的服务都是提供查询数据信息服务和信息展现服务,涉及的数据修改服务则会相对少很多。而对于查询服务而言,若能减少前台客户端和后端服务器数据交互的次数,则对整个Web系统是很大的性能提升。
1、从网络方面而言,减少数据的交互就意味着减少了网络带宽的压力,能够提供更大并发量的服务,减少网络传输的时间。
2、由于减少了请求次数,服务器的资源开销得到有效减少,后台服务器不用频繁的创建线程来处理外部的请求,由于操作系统创建和销毁线程的操作是非常消耗系统CPU等资源,因此减少请求次数也就大大减少了系统开销。
解决优化办法:
在一次查询中,首次请求后台时,后台一次性将所需要的信息全部返回,前台进行缓存,后续所有的操作均解析前台缓存数据,从中取出页面操作所需要的信息然后再进行展现,有效减少请求后台服务器的次数。相对于程序和网络延迟来说,网络传输所耗费的时间,要比解析数据要慢的多,即使返回的数据量大,也不会比网络延迟的影响更大。
具体缓存的策略,可以是一个数组对象,一个列表对象,或一个HashMap对象等,也可以是JSON数据,或XML内容。总之,只要有利于缓存的数据结构,都可以用于数据的缓存。
此种方法,对比较大的数据来说,非常有效,能有效缓解服务器的压力和网络压力,提高系统的整体性能。
来源:http://blog.csdn.net/yangkang029/article/details/50186257
相关文章推荐
- Web项目性能优化之减少HTTP请求次数优化
- 前端性能优化--合并压缩js,减少http请求次数
- web前端性能优化-http请求分析工具
- web前端性能优化-http请求并行分析
- 减少HTTP请求之合并图片详解(大型网站优化技术)
- 一个Web报表项目的性能分析和优化实践(七):性能监测工具JavaMelody
- 优化网站的方法1-减少HTTP 请求
- .net 性能优化之减少连接数据次数
- Web前端性能优化(一)减少Http请求
- j2ee的web项目,在浏览器中发起一个该项目中html页面的绝对地址,也是发起的一个http url请求,请求的响应报文的结果就是该html页面的所有html代码
- 一个Web报表项目的性能分析和优化实践(二):MySQL数据库连接不够用(TooManyConnections)问题的一次分析和解决案例
- 网站性能优化之HTTP请求过程简述
- web项目性能优化(整理)
- 【前端开发】合并多个前端静态资源文件,减少HTTP请求次数
- web项目性能优化
- 一个Web报表项目的性能分析和优化实践(六):设置MySQL的最大连接数(max_connections)
- 减少HTTP请求之将图片转成二进制并生成Base64编码,可以在网页中通过url查看图片(大型网站优化技术)
- 减少HTTP请求之合并图片详解(大型网站优化技术)
- [大型网站优化技术] -- 减少HTTP请求之将图片转成二进制并生成Base64编码,可以在网页中通过url查看图片